Suma në kurivë

Përmbajtje

Më poshtë do të gjeni një funksion të gatshëm të përcaktuar nga përdoruesi në VBA që përkthen çdo numër nga 0 të 9 në paraqitjen e tij tekstuale, dmth në sasinë me fjalë. Përpara përdorimit, ky funksion duhet të shtohet në librin tuaj. Për këtë:

  1. shtypni shkurtoren e tastierës ALT + F11për të hapur redaktorin e Visual Basic
  2. shtoni modul të ri bosh përmes menysë Insert – Moduli
  3. kopjoni dhe ngjisni tekstin e këtij funksioni atje:
Funksioni SUM(n si dyfish) Si varg Dim Nums1, Nums2, Nums3, Nums4 Si Variant Nums1 = Array("", "një", "dy", "tre", "katër", "pesë", "gjashtë", "shtatë", "tetë", "nëntë") Nums2 = Array ("", "dhjetë", "njëzet", "tridhjetë", "dyzet", "pesëdhjetë", "gjashtëdhjetë", "shtatëdhjetë", _ "tetëdhjetë ", "nëntëdhjetë") Nums3 = Array ("", "njëqind", "dyqind", "treqind", "katërqind", "pesëqind", "gjashtëqind", "shtatëqind", _ " tetëqind", "nëntëqind") Nums4 = Array ("", "një", "dy", "tre", "katër", "pesë", "gjashtë", "shtatë", "tetë", "nëntë" ") Nums5 = Array("dhjetë " , "njëmbëdhjetë", "dymbëdhjetë", "trembëdhjetë", "katërmbëdhjetë", _ "pesëmbëdhjetë", "gjashtëmbëdhjetë", "shtatëmbëdhjetë", "tetëmbëdhjetë", "nëntëmbëdhjetë") Nëse n < = 0 Pastaj SUMWRITE = "zero" Funksioni i daljes Fundi Nëse 'ndani numrin në shifra duke përdorur funksionin ndihmës Klasa ed = Klasa(n, 1) dec = Klasa(n, 2) sot = Klasa(n, 3) tys = Klasa (n, 4) dectys = Klasa(n, 5) sottys = Klasa(n, 6) mil = Klasa(n, 7) decmil= Klasa(n, 8) 'kontrollo milionat Zgjidh Rastin decmil Rasti 1 mil_txt = Nums5(mil ) & "miliona " GoTo www Case 2 deri në 9 decmil_txt = Nums2 (decmil) Fund Zgjidh Zgjidh rastin mil Rasti 1 mil_txt = Nums1(mil) & "milion" Rasti 2, 3, 4 mil_txt = Nums1(mil) & "milion" Rasti 5 deri në 20 mil_txt = Nums1(mil) & "miliona" Fund Zgjidh www: sottys_txt = Nums3(sottys) ' kontrollo mijëra Zgjidh Rastin dectys Rastin 1 tys_txt = Nums5(tys) & "mijëra" ShkoTo eee Rasti 2 Në 9 dectys_txt =Nums. Fund Zgjidh Zgjidh rastin tys Rasti 2 Nëse dectys > 0 Pastaj tys_txt = Nums0(tys) & "mijëra " Rasti 4 tys_txt = Nums1(tys) & "mijë" Rasti 4, 2, 3 tys_txt = Nums4(tys) & "thous Rasti 4 Deri në 5 tys_txt = Nums9(tys) & "mijëra " Fund Zgjidh Nëse dectys = 4 Dhe tys = 0 Dhe sottys <> 0 Pastaj sottys_txt = sottys_txt & "mijëra" eee: sot_txt = Nums0(sot) Zgjidh dhjetë 'kaseck dec Rasti 3 ed_txt = Nums1(ed) GoTo rrr Rasti 5 Deri në 2 dec_txt = Nums9(dec) Fund Zgjidh ed_txt = Nums2 (ed) rrr: 'formoni rreshtin përfundimtar me SUM IN SPEECH = decmil_ txt & mil_txt & sottyst tys_txt & sot_txt & dec_txt & ed_txt End Fu nction ' funksion ndihmës për të nxjerrë nga numri i shifrave Klasa e funksionit privat(M, I) Klasa = Int(Int(M - (1 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 10)) Funksioni i Fundit    

Ruani skedarin (nëse keni Excel 2007 ose 2010, atëherë lloji i skedarit duhet të jetë i aktivizuar me makro, dmth. format xlsm!) dhe kthehuni në Excel. Tani mund të futni funksionin e krijuar në çdo qelizë të fletës së punës në mënyrën e zakonshme - përmes magjistarit të funksionit (butoni fx në shiritin e formulave, kategori Perdorues i percaktuar) ose thjesht duke e shtypur manualisht në qelizë dhe duke specifikuar qelizën me shumën si argument:

Nëse keni nevojë të shtoni qindarkë në tekstin e marrë, atëherë mund të përdorni një ndërtim pak më kompleks:

 U3d SUM NE SHKRUAR (A3) & ” fshij. "&TEXT((A3-INTEGER(A100))*00;"XNUMX″)&"polic." 

U3d SUM NE SHKRUAR (A3) & ” fshij. "&TEXT((A3-INT(A100))*00;"XNUMX″)&"polic."

Pastaj, për shembull, për numrin 35,15, rezultati i funksionit do të duket si "tridhjetë e pesë rubla. 15 kop.”

 

  • Një version më i fuqishëm i funksionit me rubla dhe kopekë në / anglisht nga shtesa PLEX
  • Çfarë janë makro, ku të futni kodin makro, si t'i përdorni ato

 

Lini një Përgjigju