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
|