Hvordan staves eller konverteres tal til engelske ord i Excel?
Antag at du har mange prisbeløbstal, og nu skal du konvertere eller stave dem til tekststrenge. For eksempel konvertere $123.55 til de engelske ord et hundrede og treogtyve dollars og femoghalvtreds cent. I Excel er der ingen effektiv mulighed for at løse dette problem, men ved hjælp af den lange og komplekse VBA-kode. I denne artikel vil jeg introducere dig nogle metoder til at håndtere det.
Stave eller konvertere tal til engelske ord med VBA-kode
Stave eller konvertere tal til engelske ord med Kutools til Excel
Stave eller konvertere tal til engelske ord med VBA-kode
Den følgende lange VBA-kode kan hjælpe dig med at stave tal til tekststrenge. Gør som følger:
1. Hold nede ALT + F11 tasterne, og det åbner Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende makro i Modulvindue.
VBA: Stav valutanumre til engelske ord i Excel
Function SpellNumberToEnglish(ByVal pNumber)
'Updateby20131113
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
xHundred = ""
xValue = Right(pNumber, 3)
If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & GetTens(Mid(xValue, 2))
Else
xHundred = xHundred & GetDigit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
Dollars = xHundred & arr(xIndex) & Dollars
End If
If Len(pNumber) > 3 Then
pNumber = Left(pNumber, Len(pNumber) - 3)
Else
pNumber = ""
End If
xIndex = xIndex + 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
SpellNumberToEnglish = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
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
Select Case Val(Left(pTens, 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(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
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
3. Gem derefter koden, og vend tilbage til regnearket i den tilstødende celle B2, indtast formlen = SpellNumberToEnglish (A1), se skærmbillede:
4. Tryk derefter på Indtast nøgle, og vælg celle B2, og træk derefter fyldhåndtaget over til det område, der indeholder denne formel, som du har brug for. Og alle valutatallene er stavet til engelske ord. Se skærmbillede:
Bemærk: Da de er formler, skal du indsætte som værdier, når du har brug for at kopiere og indsætte dem.
Stave eller konvertere tal til engelske ord med Kutools til Excel
Måske kan ovenstående lange kode få dig til at være sur, vær så rolig, her kan jeg give dig en nem og hurtig måde at løse det på. Med Kutools til Excel's Tal til ord funktion, kan du hurtigt og bekvemt konvertere tallene til tekststrenge.
Kutools til Excel- Indeholder mere end 300 praktiske værktøjer til Excel. Fuld funktion gratis prøveperiode 30 dage, intet kreditkort krævet! Hent den nu
1. Vælg de rækkenumre, du vil stave ud, og klik på Kutools > Indhold > Tal til ord.
2. I dialogboksen popper ud skal du vælge Engelsk fra Sprog. Og du kan forhåndsvise resultaterne fra højre Eksempel Rude. Se skærmbillede:
3. Klik derefter på Ok or Indløs. Og alle prisbeløbstallene er konverteret til tekststrenge i det originale interval.
Bemærk: Hvis du bare vil konvertere tal til engelske ord (ikke valuta), skal du tjekke Ikke konverteret til valuta afkrydsningsfelt.
Denne fantastiske funktion af Tal til ord kan nemt oversætte valutatal til valutaens tekst på engelsk eller kinesisk, såsom at oversætte 32.01 til "XNUMX dollars og en cent" eller "叁拾 贰元 零 壹 分". Få en gratis prøveperiode!
Demo: Stave valutanumre til engelske ord
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!