Suma en cuirsiu

contingut

A continuació trobareu una funció definida per l'usuari a VBA que tradueix qualsevol número de 0 9 a en la seva representació textual, és a dir, en la quantitat en paraules. Abans d'utilitzar-la, cal afegir aquesta funció al llibre. Per això:

  1. premeu la drecera del teclat ALT + F11per obrir l'Editor de Visual Basic
  2. afegir un nou mòdul buit mitjançant el menú Inserir – Mòdul
  3. copieu i enganxeu el text d'aquesta funció allà:
Funció SUMA(n com a doble) Com a cadena Dim Núms1, Núms2, Núms3, Núms4 Com a variant Núms1 = Matriu ("", "un", "dos", "tres", "quatre", "cinc", "sis", "set", "vuit", "nou") Nums2 = Matriu ("", "deu", "vint", "trenta", "quaranta", "cinquanta", "seixanta", "setanta", _ "vuitanta ", "noranta") Nums3 = Matriu ("", "cent", "dos-cents", "tres-cents", "quatre-cents", "cinc-cents", "sis-cents", "set-cents", _ " vuit-cents", "nou-cents") Nums4 = Matriu ("", "un", "dos", "tres", "quatre", "cinc", "sis", "set", "vuit", "nou ") Nums5 = Matriu ("deu " , "onze", "dotze", "tretze", "catorze", _ "quinze", "setze", "disset", "divuit", "dinnou") Si n < = 0 Aleshores SUMWRITE = "zero" Exit Function End If 'divideix el nombre en dígits utilitzant la funció auxiliar Classe ed = Classe (n, 1) dec = Class (n, 2) sot = Classe (n, 3) tys = Classe (n, 4) dectys = Class (n, 5) sottys = Class (n, 6) mil = Class (n, 7) decmil= Class (n, 8) 'comprovar milions Seleccioneu Cas decmil Cas 1 mil_txt = Nums5(mil ) & "millions " GoTo www Cas 2 a 9 decmil_txt = Nums2(decmil) Final Selecció Seleccioneu Cas mil Cas 1 mil_txt = Nums1 (mil) & "milions" Cas 2, 3, 4 mil_txt = Nums1 (mil) & "milions" Cas 5 a 20 mil_txt = Nums1 (mil) i "milions " Finalitzar Seleccioneu www: sottys_txt = Nums3 (sottys) ' comproveu milers Seleccioneu Cas dectys Cas 1 tys_txt = Nums5 (tys) i "milers" GoTo eee Cas 2 a 9 dectys =s Nums2(dectys) Final Seleccioneu Seleccioneu cas tys Cas 0 Si dectys > 0 Aleshores tys_txt = Nums4(tys) & "milers" Cas 1 tys_txt = Nums4(tys) & "mil" Cas 2, 3, 4 tys_txt(tys) & "milers" Cas 4 a 5 tys_txt = Nums9(tys) & "milers" Final Selecció Si dectys = 4 I tys = 0 I sottys <> 0 Aleshores sottys_txt = sottys_txt & "milers" eee: sot_txtm = Num 's0() check tens Select Case dec Case 3 ed_txt = Nums1(ed) GoTo rrr Case 5 To 2 dec_txt = Nums9(dec) End Select ed_txt = Nums2 (ed) rrr: 'formeu l'última fila amb SUM IN SPEECH = decmil_txt & mil_txt sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt Finalitzar la funció ' funció d'ajuda per extreure del nombre de dígits Funció privada Classe (M, I) Classe = Int(Int(M - (1 ^ I) * Int(M / ( 10 ^ I))) / 10 ^ (I - 10)) Funció final    

Deseu el fitxer (si teniu Excel 2007 o 2010, llavors el tipus de fitxer ha d'estar activat per macro, és a dir, format xlsm!) i torneu a Excel. Ara podeu inserir la funció creada a qualsevol cel·la del full de treball de la manera habitual: mitjançant l'assistent de funcions (botó fx a la barra de fórmules, categoria Usuari definit) o simplement escrivint-lo manualment a la cel·la i especificant la cel·la amb la quantitat com a argument:

Si necessiteu afegir cèntims al text rebut, podeu utilitzar una construcció una mica més complexa:

 u3d SUMA ESCRIT (A3) & ” frega. “&TEXT((A3-INTEGER(A100))*00;”XNUMX″)&”cop.” 

u3d SUMA ESCRIT (A3) & ” frega. “&TEXT((A3-INT(A100))*00;”XNUMX″)&”cop.”

Aleshores, per exemple, per al número 35,15, el resultat de la funció semblarà "trenta-cinc rubles. 15 cops.”

 

  • Una versió més potent de la funció amb rubles i copecs en / anglès del complement PLEX
  • Què són les macros, on inserir el codi de macro, com utilitzar-les

 

Deixa un comentari