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
-
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.
-
Klicken Sie auf die Registerkarte Einfügen und dann auf Modul.
-
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
-
Fügen Sie die Codezeilen in das Feld Modul1 (Code) ein.
-
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.
Verwenden der SpellNumber-Funktion in einzelnen Zellen
-
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.
-
Drücken Sie die EINGABETASTE , um die Formel zu bestätigen.
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.

Sie können Ihre Datei als Excel-Macro-Enabled Arbeitsmappe (XLSM) speichern, um die Datei im aktuellen Format beizubehalten.
-
Klicken Sie auf Datei > Speichern unter.
-
Klicken Sie auf das Dropdownmenü Dateityp, und wählen Sie Excel Macro-Enabled Arbeitsmappeaus.
-
Klicken Sie auf Speichern.