Konvertér tal til ord

Bemærk!: Vi vil gerne give dig den mest opdaterede hjælp, så hurtigt vi kan, på dit eget sprog. Denne side er oversat ved hjælp af automatisering og kan indeholde grammatiske fejl og unøjagtigheder. Det er vores hensigt, at dette indhold skal være nyttigt for dig. Vil du fortælle os, om oplysningerne var nyttige for dig, nederst på denne side? Her er artiklen på engelsk så du kan sammenligne.

Excel har ikke en standard-funktion, der viser tal som engelske ord i et regneark, men du kan tilføje denne egenskab ved at indsætte følgende SpellNumber funktionen kode i et VBA (Visual Basic for Applications) modul. Denne funktion kan du konvertere kr og kr beløb ord med en formel, så 22.50 ville læse som 20 to kroner og 50 ører. Det kan være meget nyttigt, hvis du bruger Excel som en skabelon til udskrivning på trykkeri.

Hvis du vil konvertere numeriske værdier til tekstformat uden at vise dem som ord, skal du i stedet bruge funktionen tekst .

Bemærk!: Microsoft yder eksempler illustration kun uden garanti enten direkte eller indirekte. Dette omfatter, men er ikke begrænset til de implicit ansvar for salgbarhed eller fitnesspræsentation til et bestemt formål. Denne artikel forudsætter, at du allerede kender, med programmeringssproget VBA og med de værktøjer, der bruges til at oprette og foretage fejlfinding i procedurer. Microsofts supportmedarbejdere kan hjælpe dig med at forklare funktionaliteten i en bestemt procedure. De kan ikke ændre disse eksempler for at tilføje funktionalitet eller oprette procedurer, så det opfylder dine specifikke krav.

Opret SpellNumber-funktionen for at konvertere tal til ord

  1. Brug tastaturgenvejen, Alt + F11 for at åbne Visual Basic Editor (VBE).

    Bemærk!: Du kan også åbne Visual Basic Editor ved at få vist fanen Udvikler på båndet.

  2. Klik på fanen Insert, og klik derefter på Module.

    Klik på Modul i menuen Indsæt.
  3. Kopiér de følgende kodelinjer.

    Bemærk!: Kendt som en Bruger defineret funktionen (UDF), automatisere denne kode opgaven med at konvertere tal til tekst i hele regnearket.

    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. Indsæt kodelinjerne i feltet Module1 (code).

    Kode indsat i feltet Module1 (code).
  5. Tryk på Alt + Q at vende tilbage til Excel. Funktionen SpellNumber er nu klar til brug.

    Bemærk!: Denne funktion virker kun for den aktuelle projektmappe. Hvis du vil bruge denne funktion i en anden projektmappe, skal du gentage trinnene for at kopiere og indsætte koden i projektmappen.

Toppen af siden

Brug funktionen SpellNumber i individuelle celler

  1. Skriv formlen = SpellNumber (A1) i den celle, hvor du vil have vist et skrevet tal, hvor A1 er den celle, der indeholder tal, du vil konvertere. Du kan også manuelt skrive værdien som = SpellNumber(22.50).

  2. Tryk på Enter for at bekræfte formlen.

Toppen af siden

Gem din projektmappe med SpellNumber-funktionen

Excel kan ikke gemme en projektmappe med makrofunktioner i formatet standard makroer projektmappe (.xlsx). Hvis du klikker på fil > Gem. Der åbnes en dialogboks for VB-projekt. Klik på Nej.

Klik på Nej i dialogboksen VB-projekt.

Du kan gemme filen som en Excel-projektmappe (.xlsm) til at holde din fil i det aktuelle format.

  1. Klik på Filer > Gem som.

  2. Klik på rullemenuen Filtype, og vælg Excel-projektmappe.

  3. Klik på Gem.

Toppen af siden

Se også

Funktionen TEKST

Udvid dine Office-færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×