Excel hat keine Standardfunktion, die Zahlen als englische Wörter in einem Arbeitsblatt anzeigt, aber Sie können diese Funktion hinzufügen, indem Sie den folgenden SpellNumber-Funktionscode in ein VBA-Modul (Visual Basic für Applikationen) einfügen. Mit dieser Funktion können Sie Dollar-und Cent-Beträge in Wörter mit einer Formel umwandeln, sodass 22,50 als Twenty-Two Dollar und 50 Cents gelesen würde. Dies kann sehr hilfreich sein, wenn Sie Excel als Vorlage zum Drucken von Überprüfungen verwenden.

Wenn Sie numerische Werte in das Text Format umwandeln möchten, ohne Sie als Wörter anzuzeigen, verwenden Sie stattdessen die Text-Funktion .

Hinweis: Microsoft stellt Programmierbeispiele nur zur Veranschaulichung zur Verfügung, ohne ausdrückliche oder implizierte Gewährleistungen. Dazu gehören, aber nicht ausschließlich, die implizierten Garantien der Marktgängigkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der VBA-Programmiersprache und den Tools vertraut sind, mit denen Prozeduren erstellt und gedebuggt werden. Microsoft-Supporttechniker können Ihnen helfen, die Funktionalität einer bestimmten Prozedur zu erläutern. Diese Beispiele werden jedoch nicht geändert, um zusätzliche Funktionen bereitzustellen, oder Sie können Verfahren erstellen, die ihren spezifischen Anforderungen entsprechen.

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

  1. Verwenden Sie die Tastenkombination alt + F11 , um den Visual Basic-Editor zu öffnen.

    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, der als benutzerdefinierte Funktion (UDF)bezeichnet wird, automatisiert die Aufgabe, Zahlen in Text innerhalb des Arbeitsblatts umzuwandeln.

    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. Fügen Sie die Codezeilen in das Feld Modul1 (Code) ein.

    In das Feld "Module1" (Code) eingefügter Code.
  5. Drücken Sie alt + Q , um zu Excel zurückzukehren. Die SpellNumber-Funktion kann jetzt verwendet werden.

    Hinweis: Diese Funktion funktioniert nur für die aktuelle Arbeitsmappe. Wenn Sie diese Funktion in einer anderen Arbeitsmappe verwenden möchten, müssen Sie die Schritte wiederholen, um den Code in dieser Arbeitsmappe zu kopieren und einzufügen.

Seitenanfang

Verwenden der SpellNumber-Funktion in einzelnen Zellen

  1. Geben Sie die Formel = SpellNumber(a1) in die Zelle ein, in der eine schriftliche Zahl angezeigt werden soll, wobei a1 die Zelle mit der Zahl ist, die Sie konvertieren möchten. Sie können den Wert auch manuell wie = SpellNumber (22,50) eingeben.

  2. Drücken Sie die EINGABETASTE , um die Formel zu bestätigen.

Seitenanfang

Speichern der SpellNumber-Funktion in einer Arbeitsmappe

Excel kann eine Arbeitsmappe mit Makrofunktionen im standardmäßigen, Makro freien Arbeitsmappen-Format (XLSX) nicht speichern. Wenn Sie auf Datei > Speichernklicken. Das Dialogfeld " VB-Projekt " wird geöffnet. Klicken Sie auf Nein.

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

Sie können Ihre Datei als Excel-Macro-Enabled Arbeitsmappe (XLSM) speichern, um die Datei im aktuellen Format beizubehalten.

  1. Klicken Sie auf Datei > Speichern unter.

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

  3. Klicken Sie auf Speichern.

Seitenanfang

TEXT-Funktion

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Office Insidern beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×