Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
308to312
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
308to312
308to312
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zahlen in worten

zahlen in worten
11.09.2003 16:42:16
Jessi
hallo,

kann excel xp auch eine zahl automatisch in ein wort umwandeln?

z.b. 120 in einhundertundzwanzig

danke schon mal
gruß
jessi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zahlen in worten
11.09.2003 16:59:53
Jessi
hallo,

ich habe auch schon ein paar formeln gefunden, aber egal was ich für eine eingebe es steht immer #NAME? in dem feld.

was ist falsch?

danke schon mal

gruß
AW: zahlen in worten
11.09.2003 17:02:27
Lothar
Hi Jessi,

/ANFANG WERBUNG/
Du solltest wirklich die paar Euro für die CD von Herbert locker machen, dann findest Du solch nette Sachen:
/ENDE WERBUNG/


Option Explicit

Dim BisNeunzehn As Variant
Dim Zehner As Variant
Dim Tausender As Variant

'In Anlehnung an eine Klassenprogrammierung von Hans W. Hofmann
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) & " " & dRest & "/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) & IIf(h Mod 10 > 0, "und", "") & _
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


Das ganze in ein Standardmodul und dann die Funktion ZWort([ZELLE];[PARAMETER]) benutzen.

Also z.B.: in Zelle B1 = ZWort(A1;1)
Das liest die Zahl aus A1 und gibt sie als Wort in B1 aus.

Der Parameter 1 bewirkt die Berücksichtigung von Nachkommastellen.

Gruss Lothar
Anzeige
vielen dank jetzt gehts! o.T.
11.09.2003 17:14:25
Jessi
AW: zahlen in worten
12.09.2003 11:43:47
LotharP
Hallo Lothar,

jepp das ist wirklich toll!
Sollte ich mir auch überlegen mit den CD's.
Funktioniert sehr gut!
Auch von mir ein Danke, kann ich nämlich auch gut gebrauchen.

Gruß

Lothar

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige