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
-
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.
-
Klik på fanen Insert, og klik derefter på Module.
-
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
-
Indsæt kodelinjerne i feltet Module1 (code).
-
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.
Brug funktionen SpellNumber i individuelle celler
-
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).
-
Tryk på Enter for at bekræfte formlen.
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.

Du kan gemme filen som en Excel-projektmappe (.xlsm) til at holde din fil i det aktuelle format.
-
Klik på Filer > Gem som.
-
Klik på rullemenuen Filtype, og vælg Excel-projektmappe.
-
Klik på Gem.