Währungsbeträge in Worten
In WIN 7/97 suchte Rudolf Knust nach einer Möglichkeit, Beträge in Excel automatisch in Worten auszudrücken. Das ist mit einer benutzerdefinierten Funktion zu machen. Die Lösung von Manfred Prunner aus Bozen finden Sie unten als Listing abgedruckt, aber auch als ZAHLWORT.XLS auf der aktuellen Monats-CD oder in den WIN-Online-Foren. Einen Import in Excel 97 übersteht das Modul unbeschadet. Wolfgang Klein aus Eckental machte sich ebenfalls die Mühe: Sein Arbeitsblatt NOKOMMA.XLS funktioniert ähnlich, gibt aber die Stellen nach dem Komma nicht in Worten aus.
Dim i%
Funktion ZWort (Zahl Als Doppelt) Als ZeichenF Dim Teil1$; ATeil$; BTeil$; ZahlWort$; Rest%
Wenn Zahl = Schneide (Zahl) Dann Rest = 0 Sonst Rest = Anwendung.Runden ((Zahl - Schneide (Zahl)) * 100; 0) Ende Wenn
beginn: Zahl = Schneide (Zahl) Wenn Zahl = 1 Dann ZWort = eins: GeheZu Beenden i = 0 ATeil = Rechts (Zahl; 3) ZWort = Hunderter (ATeil) Wenn Länge (ZnF (Zahl)) < 5 Dann GeheZu Beenden Teil1 = ZWort Zahl = Links (Zahl; Länge (ZnF (Zahl)) - 4) BTeil = Rechts (Zahl; 3) ZWort = Hunderter (BTeil) Wenn ZWort > Dann ZWort = ZWort & tausend ZWort = ZWort & Teil1 Wenn Rechts (ATeil; 3) = 1 Dann ZWort = ZWort & s Wenn Länge (ZnF (Zahl)) < 5 Dann GeheZu Beenden Teil1 = ZWort Zahl = Links (Zahl; Länge (ZnF (Zahl)) - 4) BTeil = Rechts (Zahl; 3) ZWort = Hunderter (BTeil) Wenn BTeil = 1 Dann ZWort = eine & million & Teil1 Sonst Wenn ZWort > Dann ZWort = ZWort & millionen ZWort = ZWort & Teil1 Ende Wenn Wenn Länge (ZnF (Zahl)) < 5 Dann GeheZu Beenden Teil1 = ZWort Zahl = Links (Zahl; Länge (ZnF (Zahl)) - 4) BTeil = Rechts (Zahl; 3) ZWort = Hunderter (BTeil) Wenn BTeil = 1 Dann ZWort = eine & milliarde & Teil1 Sonst ZWort = ZWort & milliarden & Teil1 Ende Wenn Beenden: Wenn Rest > 0 Dann ZahlWort = ZWort & komma Wenn Rest < 10 Dann ZahlWort = ZahlWort & null Zahl = Rest Rest = 0 GeheZu beginn Ende Wenn
ZWort = ZahlWort & ZWort Ende Funktion
Funktion Hunderter (Hteil) Dim eZahl%; Ziffer1$; Ziffer2$; Ziffer3$ eZahl = Rechts (Hteil; 1) Hunderter = Einer (eZahl) Ziffer3 = Hunderter Wenn Hteil < 10 Dann Verlasse Funktion eZahl = Rechts (Hteil; 2) Wenn Rechts (Hteil; 2) < 20 Dann Hunderter = Zehner (eZahl) Ziffer1 = Hunderter Wenn Länge (ZnF (Hteil)) < 4 Dann Verlasse Funktion Ende Wenn eZahl = TeilZnF (Hteil; Länge (Hteil) - 1; 1) Wenn Hunderter <> ”” Dann Hunderter = Hunderter & und & Zehner1 (eZahl) Sonst Hunderter = Zehner1 (eZahl) Ziffer1 = Hunderter Ende Wenn Wenn Hteil < 100 Dann Verlasse Funktion
eZahl = TeilZnF (Hteil; Länge (ZnF (Hteil)) - 3; 1) Wenn Rechts (Hteil; 2) < 10 Dann Wenn TeilZnF (Hteil; 2; 1) = 0 Und Rechts (Hteil; 1) = 1 Dann Hunderter = Einer (eZahl) & hunderteins Sonst Hunderter = Einer (eZahl) & hundert & Ziffer3 Ende Wenn SonstWenn Rechts (Hteil; 2) > 9 Und Rechts (Hteil; 2) < 20 Dann Hunderter = Einer (eZahl) & hundert & Ziffer1 Sonst Hunderter = Einer (eZahl) & hundert & Hunderter Ende Wenn Ende Funktion
Funktion Einer (EinerZahl) Prüfe Fall EinerZahl Fall Ist = 1 Einer = ein Fall Ist = 2 Einer = zwei Fall Ist = 3 Einer = drei Fall Ist = 4 Einer = vier Fall Ist = 5 Einer = fünf Fall Ist = 6 Einer = sechs Fall Ist = 7 Einer = sieben Fall Ist = 8 Einer = acht Fall Ist = 9 Einer = neun Ende Prüfe Ende Funktion
Funktion Zehner (ZehnerZahl) Prüfe Fall ZehnerZahl Fall Ist = 10 Zehner = zehn Fall Ist = 11 Zehner = elf Fall Ist = 12 Zehner = zwölf Fall Ist = 13 Zehner = dreizehn Fall Ist = 14 Zehner = vierzehn Fall Ist = 15 Zehner = fünfzehn Fall Ist = 16 Zehner = sechzehn Fall Ist = 17 Zehner = siebzehn Fall Ist = 18 Zehner = achtzehn Fall Ist = 19 Zehner = neunzehn Ende Prüfe Ende Funktion
Funktion Zehner1 (ZehnerZahl) Prüfe Fall ZehnerZahl Fall Ist = 2 Zehner1 = zwanzig Fall Ist = 3 Zehner1 = dreißig Fall Ist = 4 Zehner1 = vierzig Fall Ist = 5 Zehner1 = fünfzig Fall Ist = 6 Zehner1 = sechzig Fall Ist = 7 Zehner1 = siebzig Fall Ist = 8 Zehner1 = achtzig Fall Ist = 9 Zehner1 = neunzig Ende Prüfe Ende Funktion
|