Conversia numerelor în cuvinte

Notă: Dorim să vă oferim cel mai recent conținut de ajutor, cât mai rapid posibil, în limba dvs. Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Vă rugăm să ne spuneți dacă informațiile v-au fost utile, în partea de jos a acestei pagini. Aici se află articolul în limba engleză, ca să îl puteți consulta cu ușurință.

Excel nu are o funcție implicit care afișează numerele ca cuvinte din limba engleză într-o foaie de lucru, dar puteți să adăugați această capacitate, lipiți următorul cod de funcția SpellNumber într-un modul VBA (Visual Basic for Applications). Această funcție vă permite să converti leii și sută volume cuvinte cu o formulă, astfel încât 22.50 ar fi citit ca douăzeci și două lei și 50 de bani. Acest lucru poate fi foarte util dacă utilizați Excel ca șablon pentru a imprima controale.

Dacă doriți să efectuați conversia valorilor numerice în format text fără a le afișați ca cuvinte, utilizați funcția TEXT .

Notă: Microsoft furnizează exemple de programare pentru ilustrație doar, fără garanție fie exprimate sau implicite. Aceasta include, dar nu se limitează la, există garanții implicite de comercializare sau potrivire pentru un anumit scop. Acest articol presupune că sunteți familiarizat cu limbajul de programare VBA și cu instrumente care sunt utilizate pentru a crea și a depana proceduri. Inginerii de asistență Microsoft vă poate ajuta să explicați funcționalitatea o anumită procedură. Cu toate acestea, nu se vor modifica aceste exemple pentru a furniza funcționalități de adăugat sau a construi proceduri pentru a îndeplini cerințe de specifice.

Crearea funcția SpellNumber pentru a efectua conversia numerelor de cuvinte

  1. Utilizați comanda rapidă de la tastatură, Alt + F11 pentru a deschide Visual Basic Editor (VBE).

    Notă: Puteți accesa Visual Basic Editor, afișând fila Dezvoltator în panglică.

  2. Faceți clic pe fila Inserare și faceți clic pe modul.

    În meniul Inserare, faceți clic pe modul.
  3. Copiați următoarele linii de cod.

    Notă: Cunoscută ca o Funcție definită de utilizator (UDF), acest cod automat activitatea de conversia numerelor la text în toată foaia de lucru.

    Option Explicit
    
    'Main Function
    
    Function SpellNumber(ByVal MyNumber)
    
    Dim Dollars, Cents, Temp
    
    Dim DecimalPlace, Count
    
    ReDim Place(9) As String
    
    Place(2) = " Thousand "
    
    Place(3) = " Million "
    
    Place(4) = " Billion "
    
    Place(5) = " Trillion "
    
    ' String representation of amount.
    
    MyNumber = Trim(Str(MyNumber))
    
    ' Position of decimal place 0 if none.
    
    DecimalPlace = InStr(MyNumber, ".")
    
    ' Convert cents and set MyNumber to dollar amount.
    
    If DecimalPlace > 0 Then
    
    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
    
    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    
    End If
    
    Count = 1
    
    Do While MyNumber <> ""
    
    Temp = GetHundreds(Right(MyNumber, 3))
    
    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
    
    If Len(MyNumber) > 3 Then
    
    MyNumber = Left(MyNumber, Len(MyNumber) - 3)
    
    Else
    
    MyNumber = ""
    
    End If
    
    Count = Count + 1
    
    Loop
    
    Select Case Dollars
    
    Case ""
    
    Dollars = "No Dollars"
    
    Case "One"
    
    Dollars = "One Dollar"
    
    Case Else
    
    Dollars = Dollars & " Dollars"
    
    End Select
    
    Select Case Cents
    
    Case ""
    
    Cents = " and No Cents"
    
    Case "One"
    
    Cents = " and One Cent"
    
    Case Else
    
    Cents = " and " & Cents & " Cents"
    
    End Select
    
    SpellNumber = Dollars & Cents
    
    End Function
    
    
    ' Converts a number from 100-999 into text
    
    Function GetHundreds(ByVal MyNumber)
    
    Dim Result As String
    
    If Val(MyNumber) = 0 Then Exit Function
    
    MyNumber = Right("000" & MyNumber, 3)
    
    ' Convert the hundreds place.
    
    If Mid(MyNumber, 1, 1) <> "0" Then
    
    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    
    End If
    
    ' Convert the tens and ones place.
    
    If Mid(MyNumber, 2, 1) <> "0" Then
    
    Result = Result & GetTens(Mid(MyNumber, 2))
    
    Else
    
    Result = Result & GetDigit(Mid(MyNumber, 3))
    
    End If
    
    GetHundreds = Result
    
    End Function
    
    
    ' Converts a number from 10 to 99 into text.
    
    
    Function GetTens(TensText)
    
    Dim Result As String
    
    Result = "" ' Null out the temporary function value.
    
    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
    
    Select Case Val(TensText)
    
    Case 10: Result = "Ten"
    
    Case 11: Result = "Eleven"
    
    Case 12: Result = "Twelve"
    
    Case 13: Result = "Thirteen"
    
    Case 14: Result = "Fourteen"
    
    Case 15: Result = "Fifteen"
    
    Case 16: Result = "Sixteen"
    
    Case 17: Result = "Seventeen"
    
    Case 18: Result = "Eighteen"
    
    Case 19: Result = "Nineteen"
    
    Case Else
    
    End Select
    
    Else ' If value between 20-99...
    
    Select Case Val(Left(TensText, 1))
    
    Case 2: Result = "Twenty "
    
    Case 3: Result = "Thirty "
    
    Case 4: Result = "Forty "
    
    Case 5: Result = "Fifty "
    
    Case 6: Result = "Sixty "
    
    Case 7: Result = "Seventy "
    
    Case 8: Result = "Eighty "
    
    Case 9: Result = "Ninety "
    
    Case Else
    
    End Select
    
    Result = Result & GetDigit _
    
    (Right(TensText, 1)) ' Retrieve ones place.
    
    End If
    
    GetTens = Result
    
    End Function
    
    
    ' Converts a number from 1 to 9 into text.
    
    Function GetDigit(Digit)
    
    Select Case Val(Digit)
    
    Case 1: GetDigit = "One"
    
    Case 2: GetDigit = "Two"
    
    Case 3: GetDigit = "Three"
    
    Case 4: GetDigit = "Four"
    
    Case 5: GetDigit = "Five"
    
    Case 6: GetDigit = "Six"
    
    Case 7: GetDigit = "Seven"
    
    Case 8: GetDigit = "Eight"
    
    Case 9: GetDigit = "Nine"
    
    Case Else: GetDigit = ""
    
    End Select
    
    End Function
  4. Lipiți linii de cod în modul1 (cod) caseta.

    Cod lipită în modul1 caseta (cod).
  5. Apăsați Alt + Q pentru a reveni la Excel. Funcția SpellNumber acum este gata de utilizare.

    Notă: Această funcție funcționează numai pentru registrul de lucru curent. Pentru a utiliza această funcție în alt registru de lucru, trebuie să repetați pașii pentru a copia și lipi codul în acel registru de lucru.

Începutul paginii

Utilizați funcția SpellNumber în celule individuale

  1. Tastați formula = SpellNumber(A1) în celula unde doriți să afișați un număr scris, unde A1 este celula care conține numărul care doriți să îi efectuați conversia. Manual, de asemenea, aveți posibilitatea să tastați valoarea cum ar fi = SpellNumber(22.50).

  2. Apăsați pe Enter pentru a confirma formula.

Începutul paginii

Salvați registrul de lucru funcția SpellNumber

Excel nu poate salva un registru de lucru cu funcții macrocomenzi în formatul standard macrocomenzi registru de lucru (.xlsx). Dacă faceți clic pe fișier > Salvare. Se deschide o casetă de dialog VB proiect . Faceți clic pe nu.

În caseta de dialog VB project, faceți clic pe nu.

Puteți salva fișierul ca un Registru de lucru Excel cu macrocomenzi (.xlsm) pentru a păstra fișierul în formatul său curent.

  1. Faceți clic pe Fișier > Salvare ca.

  2. Faceți clic pe meniul vertical tip fișier și selectați Registrul de lucru Excel cu macrocomenzi.

  3. Faceți clic pe Salvare.

Începutul paginii

Consultați și

Funcția TEXT

Extindeți-vă competențele Office
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×