Zahlen in Wörter umwandeln in Microsoft Excel – Mit oder ohne Währung (Inkl. VBA-Code)
Hier ist ein ausführliches Tutorial, wie du Zahlen in Microsoft Excel automatisch in geschriebene Worte umwandeln kannst. Da Excel hierfür keine Standardfunktion besitzt, nutzen wir ein kleines VBA-Skript (Makro).
Das Umwandeln von Zahlen in Text (z. B. „105,20“ in „Einhundertfünf Euro und Zwanzig Cent“) ist besonders nützlich für Rechnungen, Schecks oder offizielle Dokumente. In diesem Tutorial lernst du, wie du diese Funktion mithilfe von VBA (Visual Basic for Applications) in Excel nachrüstest.
Schritt 1: Den VBA-Editor öffnen
Da Excel keine integrierte Funktion wie =ZAHLINWORT() hat, erstellen wir unsere eigene.
- Öffne deine Excel-Datei.
- Drücke
ALT+F11, um den VBA-Editor zu öffnen. - Klicke im Menü auf Einfügen -> Modul.
- Ein leeres weißes Fenster erscheint. Hier kopierst du den folgenden Code hinein.
Schritt 2: Der VBA-Code
Kopiere diesen Code vollständig in das neue Modul-Fenster:
Function ZahlInWorten(ByVal n As Double, Optional MitWaehrung As Boolean = True) As String
Dim Einheiten As Variant
Dim Zehner As Variant
Dim Hunderter As Variant
Dim Ergebnis As String
Dim Cent As Integer
Dim Ganzzahl As Long
' Definition der Bezeichnungen
Einheiten = Array("", "Eins", "Zwei", "Drei", "Vier", "Fünf", "Sechs", "Sieben", "Acht", "Neun", "Zehn", "Elf", "Zwölf", "Dreizehn", "Vierzehn", "Fünfzehn", "Sechzehn", "Siebzehn", "Achtzehn", "Neunzehn")
Zehner = Array("", "", "Zwanzig", "Dreißig", "Vierzig", "Fünfzig", "Sechzig", "Siebzig", "Achtzig", "Neunzig")
' Vorbereitung: Ganzzahl und Cent trennen
Ganzzahl = Int(n)
Cent = Round((n - Ganzzahl) * 100, 0)
' Umwandlung der Ganzzahl (vereinfacht für Werte bis 999.999)
Ergebnis = Umwandeln(Ganzzahl)
If MitWaehrung Then
If Ganzzahl = 1 Then
Ergebnis = "Eins Euro"
Else
Ergebnis = Ergebnis & " Euro"
End If
If Cent > 0 Then
Ergebnis = Ergebnis & " und " & Cent & " Cent"
End If
Else
If Cent > 0 Then
Ergebnis = Ergebnis & " Komma " & Cent
End If
End If
ZahlInWorten = Ergebnis
End Function
Private Function Umwandeln(ByVal n As Long) As String
Dim Einheiten As Variant
Dim Zehner As Variant
Dim S As String
Einheiten = Array("", "Eins", "Zwei", "Drei", "Vier", "Fünf", "Sechs", "Sieben", "Acht", "Neun", "Zehn", "Elf", "Zwölf", "Dreizehn", "Vierzehn", "Fünfzehn", "Sechzehn", "Siebzehn", "Achtzehn", "Neunzehn")
Zehner = Array("", "", "Zwanzig", "Dreißig", "Vierzig", "Fünfzig", "Sechzig", "Siebzig", "Achtzig", "Neunzig")
Select Case n
Case 0
S = "Null"
Case 1 To 19
S = Einheiten(n)
Case 20 To 99
S = IIf(n Mod 10 > 0, Einheiten(n Mod 10) & "und", "") & Zehner(n \ 10)
Case 100 To 999
S = Einheiten(n \ 100) & "hundert" & IIf(n Mod 100 > 0, Umwandeln(n Mod 100), "")
Case 1000 To 999999
S = Umwandeln(n \ 1000) & "tausend" & IIf(n Mod 1000 > 0, Umwandeln(n Mod 1000), "")
Case Else
S = "Zahl zu groß"
End Select
' Korrektur für "Einshundert" -> "Einhundert"
If Left(S, 4) = "Eins" And Len(S) > 4 Then
If Mid(S, 5, 7) = "hundert" Or Mid(S, 5, 7) = "tausend" Then
S = Mid(S, 2)
End If
End If
Umwandeln = S
End Function
Schritt 3: Die Funktion in Excel nutzen
Nachdem du den Code eingefügt hast, kannst du das VBA-Fenster schließen. Deine neue Funktion steht nun wie eine normale Excel-Formel zur Verfügung.
Option A: Mit Währung (Euro/Cent)
Gib in eine beliebige Zelle ein:
=ZahlInWorten(A1)
(Wenn in A1 die Zahl 150,50 steht, erscheint: „Einhundertfünfzig Euro und 50 Cent“)
Option B: Ohne Währung (Nur die Zahl)
Gib in eine beliebige Zelle ein:
=ZahlInWorten(A1; FALSCH)
(Ergebnis: „Einhundertfünfzig Komma 50“)
Schritt 4: Datei richtig speichern
Damit das Makro auch beim nächsten Mal funktioniert, musst du die Datei in einem speziellen Format speichern:
- Gehe auf Datei -> Speichern unter.
- Wähle als Dateityp Excel-Arbeitsmappe mit Makros (.xlsm).
Tipps zur Anpassung
- Währung ändern: Wenn du "Dollar" statt "Euro" möchtest, kannst du im Code einfach das Wort
" Euro"durch" Dollar"ersetzen. - Großschreibung: Die Funktion gibt den Text so aus, wie er im Code definiert ist. Du kannst die Namen der Zahlen im Code (z.B. "Einhundert") beliebig anpassen.
Download-Hinweis: Falls du dieses Tutorial als Vorlage nutzt, kopiere den obigen Code-Block einfach in eine Textdatei und nenne sie ZahlInWorten.bas oder füge ihn direkt in deine Excel-Datei ein.