Suma kursīvā

Saturs

Zemāk jūs atradīsit gatavu lietotāja definētu funkciju VBA, kas tulko jebkuru skaitli no 0 līdz 9 tekstā, ti, daudzumā vārdos. Pirms lietošanas šī funkcija ir jāpievieno grāmatai. Priekš šī:

  1. nospiediet īsinājumtaustiņu ALT + F11lai atvērtu Visual Basic redaktoru
  2. pievienojiet jaunu tukšu moduli, izmantojot izvēlni Ievietot - modulis
  3. kopējiet un ielīmējiet šīs funkcijas tekstu tur:
Funkcija SUM(n As Double) As String Dim Nums1, Nums2, Nums3, Nums4 Kā variants Nums1 = Array("", "one", "two", "trīs", "četri", "pieci", "seši", "septiņi", "astoņi", "deviņi") Nums2 = Array ("", "desmit", "divdesmit", "trīsdesmit", "četrdesmit", "piecdesmit", "sešdesmit", "septiņdesmit", _ "astoņdesmit" ", "deviņdesmit") Nums3 = Array("", "simts", "divi simti", "trīs simti", "četri simti", "pieci simti", "seši simti", "septiņi simti", _ " astoņi simti", "deviņi simti") Nums4 = Array ("", "viens", "divi", "trīs", "četri", "pieci", "seši", "septiņi", "astoņi", "deviņi" ") Nums5 = Array("desmit " , "vienpadsmit", "divpadsmit", "trīspadsmit", "četrpadsmit", _ "piecpadsmit", "sešpadsmit", "septiņpadsmit", "astoņpadsmit", "deviņpadsmit") Ja n < = 0 Tad SUMWRITE = "nulle" Iziet no funkcijas Beigas If 'sadaliet skaitli cipariem, izmantojot palīgfunkciju Class ed = Class(n, 1) dec = Class(n, 2) sot = Class(n, 3) tys = Class (n, 4) dectys = Class(n , 5) sottys = Class(n, 6) mil = Class(n, 7) decmil= Class(n, 8) 'pārbaudīt miljonus Select Case decmil Case 1 mil_txt = Nums5(mil ) & "miljoniem " GoTo www Case 2 to 9 decmil_txt = Nums2(decmil) Beigas Atlasīt Lieta mil Case 1 mil_txt = Nums1(mil) & "miljons " Case 2, 3, 4 mil_txt = Nums1(mil) & "miljons " Gadījums no 5 līdz 20 mil_txt = Nums1(mil) & "miljoni " Beigas Atlasīt www: sottys_txt = Nums3(sottys) ' pārbaudīt tūkstošus Atlasīt Lietu dectys 1. gadījums tys_txt = Nums5(tys) & "thousands " GoTo eee 2. gadījums līdz 9 dectys_txt = Nums2(dectys)0 Beigt Atlasīt Atlasīt Lietu tys Gadījums 0 Ja dectys > 4 Tad tys_txt = Nums1(tys) & "thousands " Case 4 tys_txt = Nums2(tys) & "thousand " Case 3, 4, 4 tys_txt = Nums5(tys) & "thousands" 9. gadījums līdz 4 tys_txt = Nums0(tys) & "tūkstošiem" Beigu atlase Ja dectys = 0 Un tys = 0 Un sottys <> 3 Tad sottys_txt = sottys_txt & "tūkstošiem" eee: sot_txt = Nums1(sot) Atlasiet Case Check tens dec 5. gadījums ed_txt = Nums2(ed) GoTo rrr 9. gadījums līdz 2. dec_txt = Nums1(dec) Beigas Atlasīt ed_txt = Nums10 (ed) rrr: 'veidojiet pēdējo rindu ar SUM IN SPEECH = decmil_ txt & mil_txt & sottys_txtxt & sottys_ tys_txt & sot_txt & dec_txt & ed_txt Beigas Fu nction ' palīgfunkcija, lai iegūtu no ciparu skaita Privātā funkcija Klase(M, I) Klase = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 1 ^ (I - XNUMX)) Beigu funkcija    

Saglabājiet failu (ja jums ir Excel 2007 vai 2010, tad faila tipam jābūt iespējotam makro, ti, xlsm formātā!) un atgriezieties programmā Excel. Tagad izveidoto funkciju var ievietot jebkurā darblapas šūnā parastajā veidā – izmantojot funkciju vedni (poga fx formulas joslā, kategorijā Lietotājs definēts) vai vienkārši ierakstot to šūnā manuāli un norādot šūnu ar summu kā argumentu:

Ja saņemtajam tekstam jāpievieno santīmi, varat izmantot nedaudz sarežģītāku konstrukciju:

 u3d SUMMA RAKSTĪT (A3) & ” berzēt. “&TEKSTS((A3-INTEGER(A100))*00;”XNUMX″)&”cop.” 

u3d SUMMA RAKSTĪT (A3) & ” berzēt. “&TEXT((A3-INT(A100))*00;”XNUMX″)&”policists.”

Tad, piemēram, skaitlim 35,15, funkcijas rezultāts izskatīsies kā “trīsdesmit pieci rubļi. 15 kop."

 

  • Jaudīgāka funkcijas versija ar rubļiem un kapeikām / angļu valodā no PLEX papildinājuma
  • Kas ir makro, kur ievietot makro kodu, kā tos lietot

 

Atstāj atbildi