Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
296to300
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
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Umwandeln von beträgen in ausgeschriebenen text

Umwandeln von beträgen in ausgeschriebenen text
20.08.2003 17:00:56
lorenz
Hallo ihr wissenden,
ist es möglich eine zelle so zu definieren, dass sie den wert einer anderen zelle als ausgeschriebenes wort darstellt?
Bsp:
in der zelle A1 steht die zahl „9“; in der zelle A2 soll nun automatisch „neun“ stehen.
Um es noch praxisnaher zu beschreiben:
ich möchte automatisch quittungen erstellen in denen der jeweilige betrag auch ausgeschrieben steht; (am besten auch mit cent angabe, es reicht aber auch die ganze zahl).
Vielen dank für eure mühen,
grüße
lorenz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umwandeln von beträgen in ausgeschriebenen text
20.08.2003 21:53:57
Franz Pölt
Hallo Lorenz,
probiere mal das aus:

Function inWorten(var As Variant) As String
Dim j As Byte
Dim strZahl As String
Dim sX1   As String     '1 Zeichen
Dim sX3   As String     '3 Zeichen
Dim sVal  As String     'millionen,tausend,hundert
If Val(var) > 999999999 Then inWorten = "": Exit Function
var = Int(CDbl(var) / 1)
strZahl = String(9 - Len(CStr(var)), "0") & CStr(var)
For j = 0 To 2
sX3 = Mid(strZahl, j * 3 + 1, 3)
Select Case j
Case 0
sVal = "million"
If Val(Right(sX3, 1)) > 1 Then sVal = "millionen"
Case 1
sVal = "tausend"
Case 2
sVal = ""
Case 3
sVal = ""
End Select
If Val(sX3) > 0 Then
inWorten = inWorten & Z2W(Left(sX3, 1), "hundert")
inWorten = inWorten & Z2W(Right(sX3, 1), "und")
inWorten = inWorten & Z2W0(Mid(sX3, 2, 1))
If inWorten Like "*undzehn" Then
inWorten = WorksheetFunction.Substitute(inWorten, "einundzehn", "elf")
inWorten = WorksheetFunction.Substitute(inWorten, "zweiundzehn", "zwölf")
inWorten = WorksheetFunction.Substitute(inWorten, "undzehn", "zehn")
inWorten = WorksheetFunction.Substitute(inWorten, "szehn", "zehn")
inWorten = WorksheetFunction.Substitute(inWorten, "enzehn", "zehn")
End If
If inWorten Like "*undmill*" Then
inWorten = WorksheetFunction.Substitute(inWorten, "einundmill", "einemill")
inWorten = WorksheetFunction.Substitute(inWorten, "undmill", "mill")
End If
inWorten = WorksheetFunction.Substitute(inWorten, "undnull", "")
inWorten = inWorten & sVal
End If
Next
If Right(inWorten, 3) = "und" Then inWorten = Left(inWorten, Len(inWorten) - 3)
If Right(inWorten, 3) = "ein" Then inWorten = inWorten & "s"
End Function


Function Z2W(ziffer As Byte, Optional sOpt As String) As String
Select Case ziffer
Case 0: Z2W = ""
Case 1: Z2W = "ein"
Case 2: Z2W = "zwei"
Case 3: Z2W = "drei"
Case 4: Z2W = "vier"
Case 5: Z2W = "fünf"
Case 6: Z2W = "sechs"
Case 7: Z2W = "sieben"
Case 8: Z2W = "acht"
Case 9: Z2W = "neun"
End Select
If sOpt <> "" And Z2W <> "" Then Z2W = Z2W & sOpt
End Function


Function Z2W0(ziffer As Byte) As String
Select Case ziffer
Case 0: Z2W0 = ""
Case 1: Z2W0 = "zehn"
Case 2: Z2W0 = "zwanzig"
Case 3: Z2W0 = "dreissig"
Case 4: Z2W0 = "vierzig"
Case 5: Z2W0 = "fünfzig"
Case 6: Z2W0 = "sechzig"
Case 7: Z2W0 = "siebzig"
Case 8: Z2W0 = "achtzig"
Case 9: Z2W0 = "neunzig"
End Select
End Function

Aufruf:
z.B. inWorten(111) - Ergebnis "einhundertelf"
inWorten(A1) - Umwandlung der Zahl in A1 (Wert vor dem Komma)
Servus aus dem Salzkammergut
Franz

Anzeige
AW: vielen dank an euch
23.08.2003 12:38:45
lorenz
es hat funxioniert!!

was hat warum funktioniert ??
23.08.2003 21:57:01
th.heinrich
hallo Lorenz,
welche der "loesungen" hat funktioniert ??
troztdem ich 100% sicher bin keine antwort von Dir zu erhalten, ist Deine antwort
"es hat funxioniert!!"
keine bereicherung fuer das Forum.
thomas
thomas

AW: was hat warum funktioniert ??
24.08.2003 23:28:39
lorenz
lieber thomas,
ich wollte mich für eure antworten bedanken. eventuell ich dir diese höflichkeit nicht wichtig, und sicher keine inhaltliche bereicherung für das forum; vielleicht freuen sich die anderen beiden ratgeber darüber.
in diesem sinne
lorenz

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige