Funktionen funktioieren
folgendes Programm soll eine Zahl (Geldbetrag) in Text
umwandeln. hat auch unter excel 2003 funktioniert. habe jetzt
auf excel 2010 umgestellt. Fehlermeldung bei r= right
Kann mir jemand helfen ?
Hallo Juergen,
wird „Right“ nicht erkannt bei dir? Wielautet die Fehlermeldung?
Teste mal sowas:
Sub tt()
msgbox Right(„abcd“,2)
End Sub
Kommt der gleiche Fehler so fehlt dir ein Add-In im Add-In-Manager.
Nachstehend wohl deine Codes, funktionieren bei mir (XL 2000) problemfrei:
Gruß
Reinhard
Option Explicit
Sub aa()
MsgBox FctZahl\_In\_Worten(4711)
End Sub
Function FctZahl\_In\_Worten(Zahl As Double)
Dim z As String, w As String
Dim r As Integer, i As Integer
z = Int(Zahl)
If z = 0 Then FctZahl\_In\_Worten = "null": Exit Function
For i = 6 To 0 Step -3
If Len(z) \> i Then
r = Right(Int(z / (10 ^ i)), 3)
If r \> 99 Then w = FctZif(1, Left(r, 1), w) & "hundert": r = Right(r, 2)
If r \> 19 Then w = FctZif(3, Right(r, 1), w): w = FctZif(4, Left(r, 1), w)
If i = 0 And Right(z, 3) Like "00\*" And r \> 0 Then w = w & "und"
If r 9 And r 1 Then w = w & "millionen"
If i = 3 And Right(Int(z / 10 ^ i), 3) \> 0 Then w = w & "tausend"
If i = 0 And r = 1 Then w = w & "s"
End If
Next
FctZahl\_In\_Worten = w
End Function
Function FctZif(Par As Byte, r As Integer, w As String)
w = w & Choose(r, "ein", "zwei", "drei", "vier", "fünf", "sech", "sieb", \_
"acht", "neun")
Select Case Par
Case 1, 3
If r = 6 Then w = w & "s"
If r = 7 Then w = w & "en"
If Par = 3 And r \> 0 Then w = w & "und"
Case 2
w = w & "zehn"
If r = 1 Then w = Left(w, Len(w) - 7) & "elf"
If r = 2 Then w = Left(w, Len(w) - 8) & "zwölf"
Case 4
If r = 2 Then w = Left(w, Len(w) - 4) & "zwan"
w = w & "zig"
If r = 3 Then w = Left(w, Len(w) - 3) & "ßig"
End Select
FctZif = w
End Function