Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

Excel har ikke en standardfunktion, der viser tal som engelske ord i et regneark, men du kan tilføje denne funktion ved at indsætte følgende funktionskode SpellNumber i et VBA-modul (Visual Basic for Applications). Med denne funktion kan du konvertere beløb i kroner og øre til ord med en formel, så 22,50 ville blive læst som Twenty-Two Dollars og Fifty Cents. Dette kan være meget nyttigt, hvis du bruger Excel som skabelon til at udskrive tjek.

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

Bemærk!: Microsoft leverer kun programmeringseksempler til illustration uden garanti, hverken udtrykt eller underforstået. Dette omfatter, men er ikke begrænset til, underforståede garantier for salgbarhed eller egnethed til et bestemt formål. I denne artikel antages det, at du er bekendt med VBA-programmeringssproget og med de værktøjer, der bruges til at oprette og foretage fejlfinding af procedurer. Microsofts supportteknikere kan hjælpe med at forklare funktionaliteten af en bestemt procedure. De vil dog ikke ændre disse eksempler for at give ekstra funktionalitet eller konstruere procedurer, der opfylder dine specifikke krav.

Opret SpellNumber-funktionen for at konvertere tal til ord

  1. Brug tastaturgenvejen Alt + F11 til 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!: Denne kode kaldes en brugerdefineret funktion (UDF) og automatiserer 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 for at vende tilbage til Excel. Funktionen SpellNumber er nu klar til brug.

    Bemærk!: Denne funktion fungerer 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 det tal, du vil konvertere. Du kan også skrive værdien manuelt, f.eks. =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 det almindelige projektmappeformat uden makroer (.xlsx). Hvis du klikker på Filer > Gem. Åbnes der en VB-projekt-dialogboks. Klik på Nej.

Klik på Nej i dialogboksen VB-projekt.

Du kan gemme filen som en Excel Macro-Enabled-projektmappe (.xlsm) for at bevare filen i det aktuelle format.

  1. Klik på Filer > Gem som.

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

  3. Klik på Gem.

Toppen af siden

Se også

Funktionen TEKST

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×