Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zahlen in Wort (Bsp. 862 --> achthundertzweiundsechzig)
#1
Hi folks,

ich würde gerne ein VBA schreiben, das mir Zahlen in Wort umwandelt. als Beispiel: 862 steht in Zelle A1 --> Aufruf von Methode ZahlenInText(A1) steht in Zelle B1 --> In B1 soll erscheinen achthundertzweiundsechzig

Anbei ist auch der Code, aber er funktioniert nicht  Huh 

Muss nicht unbedingt nbis Millionen gehen. Würde bis 100 Tausend erstmal reichen :)

LG

Code:
Public Function ZahlenInText(Zahl As Double) As String
Dim wort As String
Dim einheit() As String
Dim zehner() As String
Dim hunderter() As String
Dim tausender() As String
Dim millionen() As String
einheit = Split("Null,Eins,Zwei,Drei,Vier,Fünf,Sechs,Sieben,Acht,Neun", ",")
zehner = Split("Zehn,Elf,Zwölf,Dreizehn,Vierzehn,Fünfzehn,Sechzehn,Siebzehn,Achtzehn,Neunzehn", ",")
hunderter = Split("Null,Hundert,Zweihundert,Dreihundert,Vierhundert,Fünfhundert,Sechshundert,Siebenhundert,Achthundert,Neunhundert", ",")
tausender = Split("Null,Tausend,Eintausend,Zweitausend,Dreitausend,Viertausend,Fünftausend,Sechstausend,Siebentausend,Achttausend,Neuntausend", ",")
millionen = Split("Null,Millionen,Eine Million,Zwei Millionen,Drei Millionen,Vier Millionen,Fünf Millionen,Sechs Millionen,Sieben Millionen,Acht Millionen,Neun Millionen", ",")
If Zahl = 0 Then
    ZahlenInText = "Null"
ElseIf Zahl < 0 Then
    ZahlenInText = "Minus " & ZahlenInText(Abs(Zahl))
ElseIf Zahl <= 9 Then
    ZahlenInText = einheit(Zahl + 1)
ElseIf Zahl <= 19 Then
    ZahlenInText = zehner(Zahl - 9)
ElseIf Zahl <= 99 Then
    wort = hunderter(Int(Zahl / 100) + 1)
    If Zahl Mod 100 > 0 Then
        wort = wort & "und" & ZahlenInText(Zahl Mod 100)
    End If
    ZahlenInText = wort
ElseIf Zahl <= 999 Then
    wort = ZahlenInText(Int(Zahl / 100)) & "hundert"
    If Zahl Mod 100 > 0 Then
        wort = wort & ZahlenInText(Zahl Mod 100)
    End If
    ZahlenInText = wort
ElseIf Zahl <= 9999 Then
    wort = tausender(Int(Zahl / 1000) + 1)
    If Zahl Mod 1000 > 0 Then
        wort = wort & ZahlenInText(Zahl Mod 1000)
    End If
    ZahlenInText = wort
ElseIf Zahl <= 999999 Then
    wort = ZahlenInText(Int(Zahl / 1000)) & "tausend"
    If Zahl Mod 1000 > 0 Then
        wort = wort & ZahlenInText(Zahl Mod 1000)
    End If
    ZahlenInText = wort
ElseIf Zahl <= 9999999 Then
    wort = millionen(Int(Zahl / 1000000) + 1)
    If Zahl Mod 1000000 > 0 Then
      
End Function
Antworten Top
#2
Hallo,

vielen Dank für das Beispiel.

Gruß Uwe
Antworten Top
#3
Hallo,

(21.02.2023, 14:36)Driver schrieb: Anbei ist auch der Code, aber er funktioniert nicht  Huh 
Wäre vielleicht nicht schlecht, wenn Du auch sagen könntest was nicht funktioniert und wie sich das bemerkbar macht.

Es fehlen übrigens zwei end if am Ende (vor End sub), vielleicht ist es ja schon das Problem ... vielleicht war es auch ein Copy-Paste-fehler und eben nicht der Fehler ...

EDIT: Eine Frage noch: Hast Du den Code selber geschrieben? Wenn nein, woher stammt der Code?
Gruß
Michael
Antworten Top
#4
herber.de/excelformeln/pages/Zahlen_bis_999999999_in_Buchstaben_ausschreiben.html (Formeln, mehrsprachig, kein VBA)

byedesign.co.uk/SCEHelp.htmmp/Temp1_SCEHelp.zip/SCEHelp.htm als XL4-Makro-Code, englisch (ganz am Ende der Hilfedatei, ca. drittletzte Bildschirmseite)
Antworten Top
#5
Hi,

auch hier im Forum:

https://www.clever-excel-forum.de/Thread...n-in-Worte
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#6
Auf die Schnelle auch noch gefunden:
https://www.excel-inside.de/beispiele_vb...-umwandeln
Gruß
Michael
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste