Poznámka: Snažíme se pro vás co nejrychleji zajistit aktuální obsah nápovědy ve vašem jazyce. Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát ve spodní části této stránky vědět, jestli vám informace v článku pomohly? Pokud byste se rádi podívali na jeho anglickou verzi, najdete ji tady.
Excel neobsahuje funkci výchozí, která slouží k zobrazení čísel jako anglických slov v listu, ale můžete přidat tuto funkci zadáním nebo vložením následující funkce kód SpellNumber do modulu VBA (Visual Basic for Applications). Tato funkce umožňuje převést částky Kč a cent slova obsahující vzorec, abyste 22.50 by číst jako dvacet dva dolary a 50 částky. To je velmi užitečné, pokud používáte Excel jako šablonu k tisku kontroly.
Pokud chcete k převodu číselných hodnot ve formátu textu bez jejich zobrazením jako slova, pomocí funkce hodnota.na.text .
Poznámka: Microsoft poskytuje ukázky programování pro obrázek, bez vyjádřený ani předpokládanou záruku. Zahrnutí, ale není omezena na předpokládanou záruk obchodovatelnosti nebo vhodnosti pro konkrétní účel. V tomto článku se předpokládá, že máte zkušenosti s programovacím jazykem VBA a pomocí nástrojů, které se používají k vytvoření a ladění postupy. Pracovníci technické podpory společnosti Microsoft můžete vysvětlit funkce určitého postupu. Ale nemohou tyto příklady rozšířit o další funkce nebo konstrukce podle specifických požadavků.
Vytvoření funkci SpellNumber k převodu čísla na slova
-
Použijte klávesovou zkratku Alt + F11 a otevřete tak Visual Basic Editor (VBE).
Poznámka: Můžete taky zpřístupníte editoru jazyka Visual Basic zobrazením kartu Vývojář na pásu karet.
-
Klikněte na kartu Vložení a klepněte na příkaz Module.
-
Zkopírujte následující řádky kódu.
Poznámka: Jmenoval Uživatele definované funkce (UDF), tento kód zautomatizovat o převedení čísla na text v celém listu.
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
-
Vložit řádky kódu do Module1 (kód) pole.
-
Stisknutím kombinace kláves Alt + Q se vrátíte do aplikace Excel. Funkce SpellNumber je nyní připravena k použití.
Poznámka: Tato funkce funguje jenom pro aktuální sešit. Tuto funkci nelze použít v jiném sešitu, musíte opakujte kroky zkopírujte a vložte kód v tomto sešitu.
Použít funkci SpellNumber v jednotlivých buňkách
-
Zadejte vzorec = SpellNumber (A1) do buňky, ve které chcete zobrazit ručně psaných číslo, kde A1 je do buňky obsahující čísla chcete převést. Můžete taky ručně zadat hodnotu jako = SpellNumber(22.50).
-
Stisknutím klávesy Enter ověřit vzorec.
Uložte sešit SpellNumber (funkce)
Excel nemůže uložit sešit s funkcemi makra ve formátu Standardní sešitu bez maker (.xlsx). Pokud kliknete na soubor > Uložit. Otevře se dialogové okno projektu jazyka Visual Basic. Klikněte na Ne.

Soubor můžete uložit jako aplikace Excel sešit (.xlsm) zachovat soubor v tomto formátu.
-
Klikněte na Soubor > Uložit jako.
-
Klikněte na rozevírací nabídky Uložit jako typ a vyberte Sešit jako.
-
Klikněte na Uložit.