Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
272to276
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
272to276
272to276
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahl in Text

Zahl in Text
27.06.2003 15:25:19
Manfred W
Habe folgenden Code im Internet gefunden ... Hilft mir aber direkt nicht so richtig weiter. Wer kann mit das in EUR umbiegen.
und wie kann ich den Code anwenden? Ich bin kein VBA Experte!
ich muß für Spendenbescheinigungen Zehlen in Worte schreiben.
z. B. 1521,23 dann soll stehen eins fünf zwei eins EUR/€ zwei drei Cent
meine Zahlen sind in einem Formular immer im Feld E1.
Kann mir jemand Helfen?
Danke schon mal...

Gruß

Mannfred

Function DollarText(vNumber) As Variant
'see also Function SpellNumber(ByVal MyNumber), PSS ID Number: Q140704
Dim sDollars As String
Dim sCents As String
Dim iLen As Integer
Dim sTemp As String
Dim iPos As Integer
Dim iHundreds As Integer
Dim iTens As Integer
Dim iOnes As Integer
Dim sUnits(2 To 5) As String
Dim bHit As Boolean
Dim vOnes As Variant
Dim vTeens As Variant
Dim vTens As Variant
If Not IsNumeric(vNumber) Then
Exit Function
End If
sDollars = Format(vNumber, "###0.00")
iLen = Len(sDollars) - 3
If iLen > 15 Then
DollarText = CVErr(xlErrNum)
Exit Function
End If
sCents = Right$(sDollars, 2) & "/100 Dollars"
If vNumber < 1 Then
DollarText = sCents
Exit Function
End If
sDollars = Left$(sDollars, iLen)
vOnes = Array("", "One", "Two", "Three", "Four", "Five", _
"Six", "Seven", "Eight", "Nine")
vTeens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", _
"Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
vTens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", _
"Sixty", "Seventy", "Eighty", "Ninety")
sUnits(2) = "Thousand"
sUnits(3) = "Million"
sUnits(4) = "Billion"
sUnits(5) = "Trillion"
sTemp = ""
For iPos = 15 To 3 Step -3
If iLen >= iPos - 2 Then
bHit = False
If iLen >= iPos Then
iHundreds = Asc(Mid$(sDollars, iLen - iPos + 1, 1)) - 48
If iHundreds > 0 Then
sTemp = sTemp & " " & vOnes(iHundreds) & ""
Hundred ""
bHit = True
End If
End If
iTens = 0
iOnes = 0
If iLen >= iPos - 1 Then
iTens = Asc(Mid$(sDollars, iLen - iPos + 2, 1)) - 48
End If
If iLen >= iPos - 2 Then
iOnes = Asc(Mid$(sDollars, iLen - iPos + 3, 1)) - 48
End If
If iTens = 1 Then
sTemp = sTemp & " " & vTeens(iOnes)
bHit = True
Else
If iTens >= 2 Then
sTemp = sTemp & " " & vTens(iTens)
bHit = True
End If
If iOnes > 0 Then
If iTens >= 2 Then
sTemp = sTemp & "-"
Else
sTemp = sTemp & " "
End If
sTemp = sTemp & vOnes(iOnes)
bHit = True
End If
End If
If bHit And iPos > 3 Then
sTemp = sTemp & " " & sUnits(iPos \ 3)
End If
End If
Next iPos
DollarText = Trim(sTemp) & " and " & sCents
End Function 'DollarText

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

Betreff
Datum
Anwender
Anzeige
Re: Zahl in Text
27.06.2003 15:34:56
L.Vira

Schau mal bei www.excelformeln.de vorbei.

Re: Zahl in Text an LVira
27.06.2003 16:36:08
Manfred W

Konnte da nichts finden was hast du denn gedacht?

Manfred

Re: Zahl in Text an LVira
27.06.2003 17:17:37
RAnton

Hallo Manfred,

hab dir da mal was gebastelt.

Sub Umwandlung(zahl As Double)
Dim a(10) As String
Dim b As String
Dim c As String
Dim Buchstabe As String
Dim i As Integer


a(0) = ("null")
a(1) = ("eins")
a(2) = ("zwei")
a(3) = ("drei")
a(4) = ("vier")
a(5) = ("fünf")
a(6) = ("sechs")
a(7) = ("sieben")
a(8) = ("acht")
a(9) = ("neun")
a(10) = ("Euro/€")

c = ""
b = Format(zahl, "0000.00")
For i = 0 To Len(b) - 1
Buchstabe = Mid(b, i + 1, 1)
If Buchstabe = "," Then
c = c & " " & a(10)
Else
c = c & " " & a(CInt(Buchstabe))
End If
Next

c = c & " Cent"

End Sub

------------

Bei mir ist Excel auf deutsch eingestellt, daher wandelt er die Zahl so um, daß ich anstatt den Punkt ein Komma bekomme. Das müsstest du in deiner Abfrage berücksichtigen.

Gruß
RAnton

Anzeige
Re: Zahl in Text an LVira
27.06.2003 17:46:41
Manfred W

Danke schon mal RAnton

Aber wo lese ich die daten ein? bzw . Wo werden sie
aus gegeben?

Manfred

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige