Konvertere tall til ord

Obs!: Vi ønsker å gi deg det nyeste hjelpeinnholdet så raskt som mulig, på ditt eget språk. Denne siden er oversatt gjennom automatisering og kan inneholde grammatiske feil eller unøyaktigheter. Formålet vårt er at innholdet skal være nyttig for deg. Kan du fortelle oss om informasjonen var nyttig for deg nederst på denne siden? Her er den engelske artikkelen for enkel referanse.

Excel har ikke en standardfunksjon som viser tall som engelske ord i et regneark, men du kan legge til denne funksjonaliteten ved å lime inn følgende SpellNumber funksjonskode i en modul med VBA (Visual Basic for Applications). Denne funksjonen kan du konvertere kroner og cent beløp ord med en formel slik at 22.50 leser som tjue to kroner og 50 øre. Dette kan være svært nyttig hvis du bruker Excel som en mal til å skrive ut sjekker.

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

Obs!: Microsoft tilbyr programming eksempler kun uten garanti enten direkte eller indirekte. Dette inkluderer, men er ikke begrenset til, implisitte garantier om salgbarhet eller trening for et bestemt formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket VBA og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsoft-teknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt prosedyre. De vil imidlertid ikke endre disse eksemplene for å gi forbedret funksjonalitet eller lage prosedyrer som dekker dine spesifikke krav.

Opprette funksjonen SpellNumber for å konvertere tall til ord

  1. Bruk hurtigtasten Alt + F11 for å åpne Visual Basic Editor (VBE).

    Obs!: Du kan også åpne Visual Basic-redigering ved å vise kategorien Utvikler på båndet.

  2. Klikk kategorien Sett inn, og klikk modul.

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

    Obs!: Kjent som en Bruker definert funksjon (UDF), automatiserer denne koden oppgaven over å 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. Lime inn kodelinjer i den Module1 (kode) boksen.

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

    Obs!: Denne funksjonen fungerer bare for den gjeldende arbeidsboken. 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

Bruk funksjonen SpellNumber i individuelle celler

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

  2. Trykk Enter for å bekrefte formelen.

Til toppen av siden

Lagre arbeidsboken SpellNumber (funksjon)

Excel kan ikke lagre en arbeidsbok med makrofunksjoner i formatet standard uten makroer arbeidsbok (XLSX). Hvis du klikker fil > Lagre. Det åpnes en dialogboks for VB-prosjekt. Klikk Nei.

I dialogboksen VB project klikker du Nei.

Du kan lagre filen som en Makroaktivert Excel-arbeidsbok (XLSM) til filen beholdes i det gjeldende filformatet.

  1. Klikk Fil > Lagre som.

  2. Klikk rullegardinmenyen Filtype, og velg Makroaktivert Excel-arbeidsbok.

  3. Klikk på Lagre.

Til toppen av siden

Se også

TEKST (funksjon)

Bli bedre på Office
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×