Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

Zahlen in Text umwandeln

Mit Hilfe des nachfolgend vorgestellten VBA-Codes, können Zahlen (Ziffern) in Wörter (Zahlwörter) umgewandelt werden.

So wird beispielsweise die Zahl 91.256.378 in das Zahlwort
einundneunzigmillionen.zweihundertsechsundfünfzigtausend.dreihundertachtundsiebzig 
umgewandelt.

Das Makro kann dabei mit allen Zahlen zwischen 0 und 999Milliarden.999Millionen.999Tausend.999 umgehen und wandelt diese Zahlen entsprechend in Wörter um.

So sieht der VBA-Code aus:

'* wandelt Zahlen im Bereich 0-999Milliarden.999Millionen.999Tausend.999 in Worte um
'* Special thanks to Karl Donaubauer
Public Function ZahlenInText(Zahl As Double)
 Dim z$, w$, r%, i%
z = Int(Zahl)
 If z = 0 Then ZahlenInText = "null": Exit Function
For i = 9 To 0 Step -3
 If Len(z) > i Then
 r = Right(Int(z / (10 ^ i)), 3)
 If r > 99 Then w = FctZif(1, Left(r, 1), w) & "hundert": r = Right(r, 2)
 If r > 19 Then w = FctZif(3, Right(r, 1), w): w = FctZif(4, Left(r, 1), w)
 If i = 0 And Right(z, 3) Like "00*" And r > 0 Then w = w & "und"
 If r < 10 Then w = FctZif(1, r, w)
 If r > 9 And r < 20 Then w = FctZif(2, Right(r, 1), w)
 If i = 9 And Len(z) > 9 And r = 1 Then
 w = "einemilliarde."
 Else
 If i = 9 And Right(Int(z / 13 ^ i), 3) >= 0 Then w = w & "milliarden."
 End If
 If i = 6 And Len(z) = 7 And r = 1 Then w = "einemillion."
 If i = 6 And Right(Int(z / 10 ^ i), 3) > 1 Then w = w & "millionen."
 If i = 3 And Right(Int(z / 10 ^ i), 3) > 0 Then w = w & "tausend."
 If i = 0 And r = 1 Then w = w & "s"
 End If
 Next
ZahlenInText = w
End Function

Function FctZif(Par As Byte, r As Integer, w As String)
w = w & Choose(r, "ein", "zwei", "drei", "vier", "fünf", "sech", "sieb", "acht", "neun")
Select Case Par
 Case 1, 3
 If r = 6 Then w = w & "s"
 If r = 7 Then w = w & "en"
 If Par = 3 And r > 0 Then w = w & "und"
 Case 2
 w = w & "zehn"
 If r = 1 Then w = Left(w, Len(w) - 7) & "elf"
 If r = 2 Then w = Left(w, Len(w) - 8) & "zwölf"
 Case 4
 If r = 2 Then w = Left(w, Len(w) - 4) & "zwan"
 w = w & "zig"
 If r = 3 Then w = Left(w, Len(w) - 3) & "ßig"
 End Select
FctZif = w
End Function

Fügen Sie den Code (beide Funktionen) einfach in ein leeres Code-Modul ein.

Über die neue Funktion =ZAHLENINTEXT(Zahl) wird die Umwandlung durchgeführt.

Tragen Sie dazu einfach in einer beliebigen Zellen die neue Funktion ein. Der Funktion können Sie sowohl direkt die Zahl oder einen Zellbezug übergeben. 

Der VBA-Code wurde von Herbert Grom zur Verfügung gestellt. 

 

   

Relevante Artikel

  • VBA Passwort über ein VBA-Makro automatisch aufheben

    In diesem Beitrag erfahren Sie, wie per VBA-Makro ein mit Passwort gesichertes VBA-Makro automatisch entsperrt werden kann. Es geht nicht darum, den VBA-Schutz zu haken. Bei der vorgestellten...

  • Broschüre VBA-Programmierung

    108002 Hier können Sie eine sehr schöne und lehrreiche Broschüre über VBA-Grundlagen downloaden. Diese Broschüre liegt auf dem Server der Fern Uni Hagen. Es lohnt sich auf jeden Fall, dieses Script...

  • Zahlen in Text umwandeln

    Mit Hilfe des nachfolgend vorgestellten VBA-Codes, können Zahlen (Ziffern) in Wörter (Zahlwörter) umgewandelt werden. So wird beispielsweise die Zahl 91.256.378 in das Zahlwort...

  • Tastencodes für die Funktion OnKey()

    108040 Möchten Sie bspw. das Makro "Test_Makro" über die Tastenkombination [Strg] + [t] starten, dann können Sie dies mit dem OnKey-Befehl per VBA erledigen. Gehen Sie dazu wie folgt vor. Erfassen Sie...

  • UserName ermitteln

    Dieses Makro liest den UserName (Benutzernamen) des eingeloggten Benutzers aus. Dies ist für Dateien/Programme interessant, die nur für bestimmte Benutzer freigegeben werden sollen. Damit lässt sich eine...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013