Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Excel har ikke en standardfunksjon som viser tall som engelske ord i et regneark, men du kan legge til denne funksjonen ved å lime inn følgende spellnumber-funksjonskode i en VBA-modul (Visual Basic for Applications). Denne funksjonen lar deg konvertere dollar og cent beløp til ord med en formel, så 22,50 ville leses som Twenty-Two dollar og femti cent. Dette kan være svært nyttig hvis du bruker Excel som mal til å skrive ut kontroller.

Hvis du vil konvertere numeriske verdier til tekstformat uten å vise dem som ord, bruker du TEKST-funksjonen i stedet.

Obs!: Microsoft tilbyr programmeringseksempler bare for illustrasjon, uten garanti enten uttrykt eller underforstått. Dette omfatter, men er ikke begrenset til, de underforståtte garantiene om salgbarhet eller egnethet for et bestemt formål. Denne artikkelen antar at du er kjent med VBA-programmeringsspråket, og med verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan bidra til å forklare funksjonaliteten til en bestemt fremgangsmåte. De vil imidlertid ikke endre disse eksemplene for å gi ekstra funksjonalitet, eller konstruere prosedyrer for å oppfylle dine spesifikke krav.

Opprett SpellNumber-funksjonen for å konvertere tall til ord

  1. Bruk hurtigtasten ALT+F11 for å åpne Visual Basic Redaktør (VBE).

    Obs!: Du kan også få tilgang til Visual Basic-Redaktør ved å vise Utvikler-fanen på båndet.

  2. Klikk sett inn-fanen , og klikk Modul.

    Klikk modul på Sett inn-menyen.
  3. Kopier følgende kodelinjer.

    Obs!: Denne koden kalles UDF (User Defined Function), og automatiserer oppgaven med å konvertere tall 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. Lim inn kodelinjene i Modul1-boksen (kode ).

    Kode som er limt inn i Module1 (kode)-boksen.
  5. Trykk ALT+Q for å gå tilbake til Excel. SpellNumber-funksjonen er nå klar til bruk.

    Obs!: Denne funksjonen fungerer bare for gjeldende arbeidsbok. Hvis du vil bruke denne funksjonen i en annen arbeidsbok, må du gjenta trinnene for å kopiere og lime inn koden i arbeidsboken.

Til toppen av siden

Bruke SpellNumber-funksjonen i individuelle celler

  1. Skriv inn formelen =SpellNumber(A1) i cellen der du vil vise et skrevet tall, der A1 er cellen som inneholder tallet du vil konvertere. Du kan også skrive inn verdien manuelt, for eksempel =SpellNumber(22.50).

  2. Trykk ENTER for å bekrefte formelen.

Til toppen av siden

Lagre arbeidsboken for SpellNumber-funksjonen

Excel kan ikke lagre en arbeidsbok med makrofunksjoner i standard makrofritt arbeidsbokformat (.xlsx). Hvis du klikker Fil > Lagre. Dialogboksen VB-prosjekt åpnes. Klikk Nei.

I dialogboksen VB project klikker du Nei.

Du kan lagre filen som en Excel Macro-Enabled-arbeidsbok (XLSM) for å beholde filen i gjeldende format.

  1. Klikk Fil > Lagre som.

  2. Klikk rullegardinmenyen Filtype , og velg Excel Macro-Enabled Arbeidsbok.

  3. Klikk på Lagre.

Til toppen av siden

Se også

TEXT function

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×