Konvertieren von Zahlen in Wörter

Excel 2013 und Excel 2016 bieten keine Standardfunktion, durch die Zahlen in einer Tabellenzelle als englische Wörter angezeigt werden. Sie können diese Funktion jedoch hinzufügen, indem Sie den SpellNumber-Funktionscode in ein Modulblatt einfügen. Mit dieser Funktion können Sie Dollar- und Cent-Beträge in Wörter konvertieren.

Wenn Sie numerische Werte in das Textformat konvertieren möchten, ohne dass diese als Wörter angezeigt werden, sollten Sie stattdessen die TEXT-Funktion verwenden.

Inhalt dieses Artikels

Erstellen der SpellNumber-Funktion zum Konvertieren von Zahlen in Wörter

  1. Öffnen Sie mit der Tastenkombination ALT+F11 den Visual Basic-Editor.

    Hinweis : Sie können auch auf den Visual Basic-Editor zugreifen, indem Sie im Menüband die Registerkarte "Entwickler" anzeigen.

  2. Klicken Sie auf die Registerkarte Einfügen und dann auf Modul.

    Klicken Sie im Menü "Einfügen" auf "Modul".
  3. Kopieren Sie die folgenden Codezeilen.

    Hinweis : Dieser Code wird als Makrofunktion bezeichnet und automatisiert die Konvertierung von Zahlen in Text in der gesamten Tabelle.

    Option Explicit

    'Main-Funktion

    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 "

    ' Zeichenfolgendarstellung des Betrags.

    MyNumber = Trim(Str(MyNumber))

    ' Position der Dezimalstelle. Falls nicht angegeben, 0.

    DecimalPlace = InStr(MyNumber, ".")

    ' Konvertiert Cent und legt MyNumber auf einen Dollarbetrag fest.

    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

    ' Konvertiert eine Zahl von 100–999 in Text.

    Function GetHundreds(ByVal MyNumber)

    Dim Result As String

    If Val(MyNumber) = 0 Then Exit Function

    MyNumber = Right("000" & MyNumber, 3)

    ' Konvertiert die Hunderterstelle.

    If Mid(MyNumber, 1, 1) <> "0" Then

    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

    End If

    ' Konvertiert die Zehner- und Einerstelle.

    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

    ' Konvertiert eine Zahl von 10–99 in Text.

    Function GetTens(TensText)

    Dim Result As String

    Result = "" ' Legt den temporären Funktionswert auf NULL fest.

    If Val(Left(TensText, 1)) = 1 Then ' Wenn der Wert zwischen 10–19 liegt...

    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 ' Wenn der Wert zwischen 20–99 liegt...

    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)) ' Ruft die Einerstelle ab.

    End If

    GetTens = Result

    End Function

    ' Konvertiert eine Zahl von 1–9 in 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. Fügen Sie die Codezeilen in das Feld Modul1 (Code) ein.

    In das Feld "Module1" (Code) eingefügter Code.
  5. Klicken Sie auf Datei, und klicken Sie auf Schließen und zurück zu Microsoft Excel. Die SpellNumber-Funktion kann jetzt verwendet werden.

    Hinweis : Diese Funktion funktioniert nur für die aktuell geöffnete Excel-Datei. Um die Funktion in einer anderen Excel-Arbeitsmappe zu verwenden, müssen Sie die Schritte zum Kopieren und Einfügen des Codes in dieser Datei wiederholen.

Seitenanfang

Verwenden der SpellNumber-Funktion in einzelnen Zellen

  1. Geben Sie die Formel =SpellNumber(Wert) in die Zelle ein, in der eine ausgeschriebene Zahl angezeigt werden soll, und ersetzen Sie Wert durch die gewünschte Zahl.

  2. Drücken Sie auf der Tastatur die EINGABETASTE.

    Wenn Sie beispielsweise =SpellNumber(22.50) eingeben, sollte in der Zelle Zweiundzwanzig Dollar und fünfzig Cent angegeben sein.

    Tipp : Um Zahlen in einer separaten Zelle in Text zu konvertieren, ersetzen Sie den numerischen Wert in der SpellNumber-Formel durch einen Zellbezug. Geben Sie z. B. =SpellNumber(A1) ein, um den ausgeschriebenen Wert der Zelle A1 anzuzeigen.

Seitenanfang

Speichern der SpellNumber-Funktion in einer Arbeitsmappe

Excel kann keine Arbeitsmappe mit Makrofunktionen im standardmäßigen Arbeitsmappenformat ohne Makros speichern. Wenn Sie auf Datei > Speichern klicken, wird ein Dialogfeld VB-Projekt geöffnet. Klicken Sie auf Nein.

Klicken Sie im Dialogfeld "VB-Projekt" auf "Nein".

Sie können Ihre Datei als Excel-Vorlage mit Makros speichern, um das aktuelle Format der Datei beizubehalten.

  1. Klicken Sie auf Datei > Speichern unter.

  2. Klicken Sie auf das Dropdownmenü Dateityp, und wählen Sie Excel Macro-Enabled Template aus.

    Wählen Sie die Excel-Vorlage mit aktivierten Makros aus.
  3. Klicken Sie auf Speichern.

Seitenanfang

Siehe auch

TEXT-Funktion

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×