Suma u kuirzivu

Sadržaj

Ispod ćete pronaći gotovu korisnički definiranu funkciju u VBA koja prevodi bilo koji broj od 0 da 9 u njegovu tekstualnu reprezentaciju, odnosno u količini riječima. Prije korištenja ovu funkciju morate dodati svojoj knjizi. Za ovo:

  1. pritisnite tipkovni prečac ALT + F11da otvorite Visual Basic Editor
  2. dodajte novi prazan modul putem izbornika Umetak – Modul
  3. kopirajte i zalijepite tekst ove funkcije tamo:
Funkcija SUM(n kao Double) Kao niz Dim Nums1, Nums2, Nums3, Nums4 Kao varijanta Nums1 = Array("", "one", "two", "three", "four", "five", "six", "sedam", "osam", "devet") Nums2 = Array("", "deset", "dvadeset", "trideset", "četrdeset", "pedeset", "šezdeset", "sedamdeset", _ "osamdeset ", "devedeset") Nums3 = Array("", "sto", "dvjesto", "tristo", "četiristo", "petsto", "šest stotina", "sedamsto", _ " osam stotina", "devet stotina") Nums4 = Array("", "jedan", "dva", "tri", "četiri", "pet", "šest", "sedam", "osam", "devet" ") Nums5 = Array("deset " , "jedanaest", "dvanaest", "trinaest", "četrnaest", _ "petnaest", "šesnaest", "sedamnaest", "osamnaest", "devetnaest") Ako je n < = 0 Zatim SUMWRITE = "nula" Izlaz iz funkcije End If 'podijelite broj na znamenke koristeći pomoćnu funkciju Class ed = Class(n, 1) dec = Class(n, 2) sot = Class(n, 3) tys = Class (n, 4) dectys = Klasa(n, 5) sottys = Klasa(n, 6) mil = Klasa(n, 7) decmil= Klasa(n, 8) 'provjeri milijune Odaberi slučaj decmil Slučaj 1 mil_txt = Nums5(mil ) & "milijuni " GoTo www Case 2 To 9 decmil_txt = Nums2(decmil) End Select Odaberite Case mil Case 1 mil_txt = Nums1(mil) & "milijun " Case 2, 3, 4 mil_txt = Nums1(mil) & "milijun " Slučaj 5 do 20 mil_txt = Nums1(mil) & "millions " End Select www: sottys_txt = Nums3(sottys) ' provjeri tisuće Odaberite Case dectys Case 1 tys_txt = Nums5(tys) & "thousands " GoTo eee Case 2 To 9 dectys_txt = Nums2(dectys) End Select Select Case tys Case 0 If dectys > 0 Then tys_txt = Nums4(tys) & "thousands " Case 1 tys_txt = Nums4(tys) & "thousand " Case 2, 3, 4 tys_txt = Nums4(tys) & "thousands " Case 5 To 9 tys_txt = Nums4(tys) & "thousands" End Select If dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & "thousands" eee: sot_txt = Nums3(sot) 'provjeri desetke Odaberite Case dec Case 1 ed_txt = Nums5(ed) GoTo rrr Case 2 To 9 dec_txt = Nums2(dec) End Select ed_txt = Nums1 (ed) rrr: 'formirajte posljednji red sa SUM IN SPEECH = decmil_ txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt End Fu nction ' pomoćna funkcija za izdvajanje iz broja znamenki Privatna funkcija Class(M, I) Class = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1)) Funkcija završetka    

Spremite datoteku (ako imate Excel 2007 ili 2010, onda tip datoteke mora biti omogućen makro, tj. xlsm format!) i vratite se u Excel. Sada kreiranu funkciju možete umetnuti u bilo koju ćeliju radnog lista na uobičajeni način – kroz čarobnjak za funkcije (gumb fx u traci formule, kategorija Korisnik definiran) ili ga jednostavno ručno upišete u ćeliju i navedete ćeliju s iznosom kao argumentom:

Ako trebate dodati novčiće primljenom tekstu, tada možete koristiti malo složeniju konstrukciju:

 u3d PISANI ZBROJ (A3) & ” rub. “&TEKST((A3-INTEGER(A100))*00;”XNUMX″)&”policajac.” 

u3d PISANI ZBROJ (A3) & ” rub. “&TEKST((A3-INT(A100))*00;”XNUMX″)&”policajac.”

Tada će, na primjer, za broj 35,15 rezultat funkcije izgledati kao "trideset pet rubalja". 15 kop.”

 

  • A more powerful version of the function with rubles and kopecks in / English from the PLEX add-on
  • Što su makronaredbe, gdje umetnuti makro kod, kako ih koristiti

 

Ostavi odgovor