Převod čísel do slov

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

  1. 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.

  2. Klikněte na kartu Vložení a klepněte na příkaz Module.

    V nabídce Vložit klikněte na modul.
  3. 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
  4. Vložit řádky kódu do Module1 (kód) pole.

    Kód vložený do Module1 pole (kód).
  5. 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.

Začátek stránky

Použít funkci SpellNumber v jednotlivých buňkách

  1. 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).

  2. Stisknutím klávesy Enter ověřit vzorec.

Začátek stránky

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.

V dialogovém okně VB Projekt klikněte na Ne.

Soubor můžete uložit jako aplikace Excel sešit (.xlsm) zachovat soubor v tomto formátu.

  1. Klikněte na Soubor > Uložit jako.

  2. Klikněte na rozevírací nabídky Uložit jako typ a vyberte Sešit jako.

  3. Klikněte na Uložit.

Začátek stránky

Viz taky

HODNOTA.NA.TEXT

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×