Zahlennamen
07.04.2022 13:37:12
Thomas
1. Code in ein Modul einfügen
2. Funktionsaufruf: =ZAHLENNAME(Zahl)
3. Beispiel: =ZAHLENNAME(348828423)
4. Ergebnis "DreiHundertAchtUndVierzigMillionen AchtHundertAchtUndZwanzigTausend VierHundertDreiUndZwanzig"
Thomas Schnitzler, 13:26 Donnerstag, 7. April 2022
Function Zahlenname$(ByVal Z)
On Error GoTo FEHLER
Dim ZAHL, NAME, TMP$
TMP = Format(Z, "000,000,000,000,000,000,000,000,000,000")
Debug.Print TMP
ZAHL = Split(TMP, ".")
NAME = Split("Quadrilliarde|n,Quadrillion|en,Trilliarde|n,Trillion|en,Billiarde|n,Billion|en,Milliarde|n,Million|en,Tausend|,Hundert|", ",")
For I = 0 To 9
If I
Public Function Hunderter$(ByVal ZAHL)
On Error GoTo FEHLER
Dim ARR, L$, R$
Select Case ZAHL
Case 1 To 19 'Eins bis Neunzehn
ARR = Split(",Eins,Zwei,Drei,Vier,Fünf,Sechs,Sieben,Acht,Neun,Zehn,Elf,Zwölf,Dreizehn,Vierzehn,Fünfzehn,Sechzehn,Siebzehn,Achtzehn,Neunzehn", ",")
Hunderter = ARR(ZAHL)
Case 20 To 99 'Zwanzig bis NeunUndNeunzig
ARR = Split(",,Zwanzig,Dreißig,Vierzig,Fünfzig,Sechzig,Siebzig,Achtzig,Neunzig", ",")
R = ARR(Val(Left(ZAHL, 1)))
ARR = Split(",Ein,Zwei,Drei,Vier,Fünf,Sechs,Sieben,Acht,Neun", ",")
L = ARR(Val(Right(ZAHL, 1)))
Hunderter = L & IIf(L = "", "", "Und") & R
Case 100 To 999 'EinHundert bis NeunHundertNeunUndNeunzig
ARR = Split(",Ein,Zwei,Drei,Vier,Fünf,Sechs,Sieben,Acht,Neun", ",")
L = ARR(Left(ZAHL, 1)) & "Hundert"
R = Hunderter(Right(ZAHL, 2))
Hunderter = L & R
End Select
Exit Function
FEHLER:
Debug.Print Err.Number & ": " & Err.Description
End Function