Hoe kan ik getallen spellen of converteren naar Engelse woorden in Excel?
Stel dat u veel getallen met prijsbedragen heeft en nu moet u ze converteren of spellen in tekstreeksen. Converteer bijvoorbeeld $123.55 naar de Engelse woorden honderd drieëntwintig dollar en vijfenvijftig cent. In Excel is er geen effectieve mogelijkheid om dit probleem op te lossen, maar met behulp van de lange en complexe VBA-code. In dit artikel zal ik u enkele methoden voorstellen om hiermee om te gaan.
Spel of converteer getallen naar Engelse woorden met VBA-code
Spel of converteer getallen naar Engelse woorden met Kutools voor Excel
Spel of converteer getallen naar Engelse woorden met VBA-code
De volgende lange VBA-code kan u helpen om getallen in tekstreeksen te spellen. Ga als volgt te werk:
1. Houd de ALT + F11 toetsen, en het opent de Microsoft Visual Basic voor toepassingen venster.
2. Klikken Invoegen > Moduleen plak de volgende macro in het Module venster.
VBA: voer valutanummers uit naar Engelse woorden in 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. Sla vervolgens de code op en ga terug naar het werkblad, voer in de aangrenzende cel B2 de formule in = SpellNumberToEnglish (A1), zie screenshot:
4. Druk vervolgens op Enter -toets en selecteer de cel B2 en sleep vervolgens de vulgreep naar het bereik dat deze formule bevat, zoals u nodig hebt. En alle valutanummers zijn in Engelse woorden gespeld. Zie screenshot:
Note: Aangezien het formules zijn, moet u ze als waarden plakken als u ze moet kopiëren en plakken.
Spel of converteer getallen naar Engelse woorden met Kutools voor Excel
Misschien kan de bovenstaande lange code je boos maken, maak je geen zorgen, hier kan ik je een gemakkelijke en snelle manier geven om het op te lossen. Met de Kutools for Excel's Getallen naar woorden functie, kunt u de getallen snel en gemakkelijk naar tekstreeksen converteren.
Kutools for Excel- Bevat meer dan 300 handige tools voor Excel. Gratis proefperiode van 30 dagen met volledige functionaliteit, geen creditcard vereist! Snap het nu
1. Selecteer de bereiknummers die u wilt spellen en klik op Kutools > Content > Getallen naar woorden.
2. Kies in het pop-outvenster Engels van het Talen. En u kunt rechts een voorbeeld van de resultaten bekijken Voorbeschouwing Paneel. Zie screenshot:
3. Dan klikken Ok or Solliciteer. En alle nummers van het prijsbedrag zijn geconverteerd naar tekstreeksen in het oorspronkelijke bereik.
Note: Als u alleen getallen naar Engelse woorden (geen valuta) wilt converteren, controleer dan Niet geconverteerd naar valuta checkbox.
Deze fantastische functie van Getallen naar woorden kan gemakkelijk valutanummers vertalen naar de tekst van valuta in het Engels of Chinees, zoals 32.01 vertalen naar "Tweeëndertig dollar en een cent" of "叁拾 贰元 零 壹 分". Probeer gratis!
Demo: Spel valutanummers uit in Engelse woorden
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!