.
.
.
.
.
.

Auftragsprogrammierung

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unterstützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!  oder rufen Sie uns einfach an.

Für kurze Fragen und einfachere Problemlösungen bieten wir unseren Quick-Support an.

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. zweihundertsechs undfünfzigtausend .dreihundert achtundsiebzig 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
{/codecitation}
{codecitation}
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. 

 

Drucken E-Mail

Relevante Artikel

  • 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...

  • Diagramm-Skalierung per VBA ändern

    Excel skaliert die Größenachse (Y-Achse) bei einem Diagramm standardmäßig automatisch. Natürlich kann der Maxi- und Min-Wert auch manuell für das...

  • Fortschrittsbalken in Statusleiste anzeigen

    Wenn es mal wieder etwas länger dauert, ist es sinnvoll, wenn der Anwender darüber informiert wird. Dies kann beispielsweise über eine kleine...

  • Anzahl Formeln in einer Arbeitsmappe ermitteln

    Mit Hilfe dieser Prozedur werden alle Formeln einer Arbeitsmappe ermittelt werden. Dies kann beispielsweise für statistische Zwecke nützlich sein. Die...

  • Sicherheitseinstellungen für Makros

    Nachfolgend erhalten Sie eine Übersicht über die Einstellmöglichkeiten der Makrosicherheit in den unterschiedlichen Excel-Versionen: Die jeweiligen...

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der 
 Lösungsfindung?

  Nutzen Sie unser Anfrageformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
R
O
J
E
K
T
A
N
F
R
A
G
E
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Bestätigung erklären Sie sich mit der Verwendung von Cookies auf Excel-Inside Solutions einverstanden.