Jak vysvětlit nebo převést čísla na anglická slova v aplikaci Excel?
Předpokládejme, že máte spoustu čísel cen a nyní je musíte převést nebo vysvětlit na textové řetězce. Například převést $123.55 na anglická slova sto dvacet tři dolarů a padesát pět centů. V aplikaci Excel neexistuje žádný efektivní prostředek k vyřešení tohoto problému, ale s použitím dlouhého a složitého kódu VBA. V tomto článku vám představím několik metod, jak se s tím vypořádat.
Vyhláskujte nebo převádějte čísla na anglická slova pomocí kódu VBA
Vyhláskujte nebo převádějte čísla na anglická slova pomocí programu Kutools pro Excel
Vyhláskujte nebo převádějte čísla na anglická slova pomocí kódu VBA
Následující dlouhý kód VBA vám pomůže vysvětlit čísla na textové řetězce. Postupujte následovně:
1. Podržte ALT + F11 klíče a otevře se Microsoft Visual Basic pro aplikace okno.
2, klikněte Vložit > Modula vložte následující makro do souboru Okno modulu.
VBA: Vyslovte čísla měn na anglická slova v aplikaci 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. Poté kód uložte a vraťte se do listu, do sousední buňky B2 zadejte vzorec = SpellNumberToEnglish (A1), viz screenshot:
4. Pak stiskněte tlačítko vstoupit a vyberte buňku B2, pak přetáhněte úchyt výplně do rozsahu, který obsahuje tento vzorec, jak potřebujete. A všechna čísla měn byla vysvětlena anglickými slovy. Viz screenshot:
Poznámka: Jelikož se jedná o vzorce, potřebujete-li je zkopírovat a vložit, vložte je jako hodnoty.
Vyhláskujte nebo převádějte čísla na anglická slova pomocí programu Kutools pro Excel
Možná vás z výše uvedeného dlouhého kódu můžete udělat šílenství, nebojte se, zde vám mohu dát snadný a rychlý způsob, jak to vyřešit. S Kutools pro ExcelJe Čísla na slova funkce, můžete rychle a pohodlně převést čísla na textové řetězce.
Kutools pro Excel- Zahrnuje více než 300 užitečných nástrojů pro Excel. Plná funkce 30denní bezplatná zkušební verze, není nutná kreditní karta! Get It Now
1. Vyberte čísla rozsahu, která chcete vysvětlit, a klikněte Kutools > Obsah > Čísla na slova.
2. V rozbalovacím dialogovém okně zvolte angličtina z Jazyky. Výsledky si můžete prohlédnout zprava Náhled Podokno. Viz snímek obrazovky:
3. Pak klikněte na tlačítko Ok or Podat žádost. A všechna čísla cen byla převedena na textové řetězce v původním rozsahu.
Poznámka: Pokud chcete pouze převést čísla na anglická slova (nikoli měnu), zkontrolujte to Nepřevedeno na měnu checkbox.
Tato fantastická vlastnost Čísla na slova umí snadno přeložit čísla měny na text měny v angličtině nebo čínštině, jako je například překlad 32.01 na „Třicet dva dolarů a jeden cent“ nebo „叁拾 贰元 零 壹 分“. Vyzkoušejte zdarma!
Demo: Vyslovte čísla měn na anglická slova
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!