Ich habe für meine Vereinsanwendung, welche auch Spendenquittungen schreiben soll, einen Code gebraucht welcher Zahlen in Worten darstellen kann. Für mich habe ich mich mit einer Umwandlung von Zahlen bis 99.999,99 zufrieden gegeben. Könnte man natürlich noch erweitern.
Falls das Ausschreiben von Zahlen für jnd. nützlich sein sollte, hier der Code:
Code: Alles auswählen
GLOBAL einer(11)
GLOBAL zehner(10)
GLOBAL hunderter(10)
function zahl_unter_hundert(nr1,nr10)
einer(0)=""
einer(1)="ein"
einer(2)="zwei"
einer(3)="drei"
einer(4)="vier"
einer(5)="fünf"
einer(6)="sechs"
einer(7)="sieben"
einer(8)="acht"
einer(9)="neun"
zehner(0)=""
zehner(1)=""
zehner(2)="zwanzig"
zehner(3)="dreißig"
zehner(4)="vierzig"
zehner(5)="fünfzig"
zehner(6)="sechzig"
zehner(7)="siebzig"
zehner(8)="achtzig"
zehner(9)="neunzig"
wort1=einer(nr1)
wort10=zehner(nr10)
'EINER UND ZEHNERSTELLE SIND GLEICH NULL
if nr10="0" and nr1="0"then
zahl_unter_hundert=""
end if
' EINERSTELLE UNTER 10
if nr10="0" and nr1<>"0" then
zahl_unter_hundert=wort1
end if
' CENT ÜBER 9 UNTER 20
if nr10="1" then
if nr1="0" then zahl_unter_hundert="zehn"
if nr1="1" then zahl_unter_hundert="elf"
if nr1="2" then zahl_unter_hundert="zwölf"
if nr1="3" then zahl_unter_hundert="dreizehn"
if nr1="4" then zahl_unter_hundert="vierzehn"
if nr1="5" then zahl_unter_hundert="fünfzehn"
if nr1="6" then zahl_unter_hundert="sechzehn"
if nr1="7" then zahl_unter_hundert="siebzehn"
if nr1="8" then zahl_unter_hundert="achtzehn"
if nr1="9" then zahl_unter_hundert="neunzehn"
end if
if nr10="2" or nr10="3" or nr10="4" or nr10="5" or nr10="6" or nr10="7" or nr10="8" or nr10="9" then
'msgbox("Funktion ab 2, nr10 ist"+nr10)
if nr1="0" then zahl_unter_hundert=wort10
if nr1<>"0" then zahl_unter_hundert=wort1+"und"+wort10
end if
End Function
function zahlumrechnung(zahl)
' CENTZAHL ERMITTELN
Cent1=right(zahl,1)
Cent10=left(right(zahl,2),1)
summe_cent=zahl_unter_hundert(Cent1,Cent10)
if summe_cent<>"" then summe_cent=summe_cent+" Cent"
' EUROZAHL ERMITTELN
Euro1=left(right(zahl,4),1)
Euro10=left(right(zahl,5),1)
Euro100=left(right(zahl,6),1)
Euro1000=left(right(zahl,8),1)
Euro10T=left(right(zahl,9),1)
summe_euro=zahl_unter_hundert(Euro1,Euro10)
summe_100=zahl_unter_hundert(Euro100,"0")
if summe_100<>"" then summe_euro=summe_100+"hundert"+summe_euro
summe_T=zahl_unter_hundert(Euro1000,Euro10T)
if summe_T<>"" then summe_euro=summe_T+"tausend"+summe_euro
if summe_euro<>"" then summe_euro=summe_euro+" Euro"
zahlumrechnung=summe_euro
if summe_cent<>"" and summe_euro="" then zahlumrechnung=summe_cent
if summe_cent<>"" and summe_euro<>"" then zahlumrechnung=zahlumrechnung+" "+summe_cent
End Function
Sub Main
x=inputbox("Gib die Testzahl ein")
zahl=format(x,"00,000.00")
antwort=zahlumrechnung(zahl)
msgbox(antwort)
End Sub