Suma în cuirivă

Cuprins

Mai jos veți găsi o funcție gata creată, definită de utilizator în VBA, care traduce orice număr de la 0 la 9 în reprezentarea sa textuală, adică în cantitatea în cuvinte. Înainte de utilizare, această funcție trebuie adăugată la cartea dvs. Pentru asta:

  1. apăsați comanda rapidă de la tastatură ALT + F11pentru a deschide Editorul Visual Basic
  2. adăugați un nou modul gol prin meniu Inserare – Modul
  3. copiați și lipiți textul acestei funcții acolo:
Funcția SUM(n ca dublu) ca șir Dim Nums1, Nums2, Nums3, Nums4 Ca variantă Nums1 = Matrice ("", "unu", "două", "trei", "patru", "cinci", "șase", „șapte”, „opt”, „nouă”) Nume2 = Matrice(„”, „zece”, „douăzeci”, „treizeci”, „patruzeci”, „cincizeci”, „șaizeci”, „șaptezeci”, _ „optzeci ", "nouăzeci") Nums3 = Array("", "o sută", "două sute", "trei sute", "patru sute", "cinci sute", "șase sute", "șapte sute", _ " opt sute”, „nouă sute”) Nums4 = Matrice(„”, „unu”, „două”, „trei”, „patru”, „cinci”, „șase”, „șapte”, „opt”, „nouă ") Nums5 = Array ("zece " , "unsprezece", "doisprezece", "treisprezece", "paisprezece", _ "cincisprezece", "șaisprezece", "șaptesprezece", "opsprezece", "nouăsprezece") Dacă n < = 0 Apoi SUMWRITE = "zero" Ieșire Funcție End If 'împarte numărul în cifre folosind funcția de ajutor 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) 'check million Select Case decmil Case 1 mil_txt = Nums5(mil ) & „milioane " GoTo www Case 2 To 9 decmil_txt = Nums2(decmil) End Select Select Case mil Case 1 mil_txt = Nums1(mil) & "million " Case 2, 3, 4 mil_txt = Nums1(mil) & "million " Case 5 To 20 mil_txt = Nums1(mil) & "milioane " End Selectați www: sottys_txt = Nums3(sottys) ' verificați mii Selectați Case dectys Case 1 tys_txt = Nums5(tys) & "mii" GoTo eee Case 2 To 9 dectys_txts)2(dectys) Sfârșit Selectați Selectați Case tys Case 0 Dacă dectys > 0 Atunci tys_txt = Nums4(tys) & "mii" Caz 1 tys_txt = Nums4(tys) & "thousand " Cazul 2, 3, 4 tys_txt = Nums4(tys) & " Cazul 5 - 9 tys_txt = Nums4(tys) & "mii" End Select If dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & "thousands" eee: sot_txt = Numscheck (sot) Selectare Case '3(sot) dec Case 1 ed_txt = Nums5(ed) GoTo rrr Case 2 To 9 dec_txt = Nums2(dec) End Select ed_txt = Nums1 (ed) rrr: 'formează ultimul rând cu SUM IN SPEECH = decmil_ txt & mil_txt_ & sottx_ & sottx_ tys_txt & sot_txt & dec_txt & ed_txt End Fu nction 'funcție de ajutor pentru a extrage din numărul de cifre. 10)) Funcția de terminare    

Salvați fișierul (dacă aveți Excel 2007 sau 2010, atunci tipul de fișier trebuie să fie macro-activat, adică format xlsm!) și reveniți la Excel. Acum puteți insera funcția creată în orice celulă a foii de lucru în mod obișnuit - prin vrăjitorul de funcții (buton fx în bara de formule, categorie Definit de utilizator) sau pur și simplu tastând-o manual în celulă și specificând celula cu suma ca argument:

Dacă trebuie să adăugați bănuți la textul primit, atunci puteți utiliza o construcție puțin mai complexă:

 u3d SUMA ÎN SCRIERE (A3) & ” frecare. „&TEXT((A3-INTEGER(A100))*00;”XNUMX″)&”cop.” 

u3d SUMA ÎN SCRIERE (A3) & ” frecare. „&TEXT((A3-INT(A100))*00;”XNUMX″)&”cop.”

Apoi, de exemplu, pentru numărul 35,15, rezultatul funcției va arăta ca „treizeci și cinci de ruble. 15 cop.”

 

  • A more powerful version of the function with rubles and kopecks in / English from the PLEX add-on
  • Ce sunt macrocomenzile, unde să inserați codul macro, cum să le folosiți

 

Lasă un comentariu