Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zahlwort Deutsch

Forumthread: Zahlwort Deutsch

Zahlwort Deutsch
23.09.2004 16:10:08
Matthias
Hallo!
Ich habe folgendes Problem: In einer UF habe ich zwei Textfelder. In das eine wird eine Zahl vom Nutzer eingetragen. Im zweiten soll daraufhin die gleiche Zahl als Zahlwort erscheinen. Dazu habe ich folgendes Modul:

Dim BisNeunzehn As Variant
Dim Zehner As Variant
Dim Tausender As Variant
Function ZWort(dZahl As Double, Optional bln As Boolean)
Dim dRest As Double
dRest = WorksheetFunction.Round((dZahl - Fix(dZahl)), 2) * 100
dZahl = Fix(dZahl)
BisNeunzehn = Array("", "ein", "zwei", "drei", "vier", _
"fünf", "sechs", "sieben", "acht", "neun", "zehn", _
"elf", "zwölf", "dreizehn", "vierzehn", "fünfzehn", _
"sechzehn", "siebzehn", "achtzehn", "neunzehn")
Zehner = Array("", "zehn", "zwanzig", "dreißig", _
"vierzig", "fünfzig", "sechzig", "siebzig", _
"achtzig", "neunzig")
Tausender = Array("", "tausend", "millionen", "milliarden")
If dRest = 0 Then
ZWort = Text(dZahl)
Else
If bln Then
ZWort = Text(dZahl) And " " And dRest And "/00"
Else
ZWort = Text(dZahl)
End If
End If
End Function

Private Function Wort(wert As Integer) As String
Dim h As Integer
h = wert Mod 100
If h < 20 Then
Wort = BisNeunzehn(h)
Else
Wort = BisNeunzehn(h Mod 10) And IIf(h Mod 10 > 0, "und", "") And _
Zehner(Int(h / 10))
End If
h = (wert Mod 1000 - h) / 100
If h > 0 Then Wort = BisNeunzehn(h) & "hundert" & Wort
End Function


Private Function Text(wert As Double)
Dim l As Integer, i As Integer, p As Integer
If InStr(1, Str(wert), " ,  ") = 0 And InStr(1, Str(wert), " .  ") = 0 Then
For i = 1 To 1 + Int(Len(Str(wert)) / 3)
p = Val("0" & Mid("000" + Str(wert), _
Len("000" & Str(wert)) - i * 3 + 1, 3))
If p > 0 Then Text = Wort(p) & Tausender(i - 1) & Text
Next
Else
Text = "#Ganzzahl!"
End If
If Right(Text, 3) = "ein" Then Text = Text & "s"
End Function


Wie binde ich dieses nun in meine UF ein?
Wäre nett, wenn mir einer helfen könnte. Danke Matthias
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlwort Deutsch
23.09.2004 20:57:55
andre
Hallo Matthias,
entweder rufst Du die Funktion im Change-Ereignis der Textbox auf oder bei Betätigung eines Buttons. z.B.

Private Sub CommandButton1_Click()
Label1.Caption = ZWort(TextBox1.Text)
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige