Supportnet / Forum / Tabellenkalkulation
Darstellen von Zahlen in Buchstaben
Frage
Habe in A1 eine Zahl eingetragen, hätte sie in B1 gerne in Buchstaben wiederholt.
Bsp. A1 - 12 B1 - zwölf
Wie kriege ich das hin?
Antwort 1 von k2-fly
Von was sprichst du denn?? also welches Tool oder welches Programm benutz du???
Antwort 2 von msconfig
@k2-fly:
wo hat man denn "a1" und "b1" als felder? noch nie ein office-standard-programm benutzt? is sich excel.....
nix für ungut *fg*
leider sonst nix zum thema..... ;-)
msconfig
wo hat man denn "a1" und "b1" als felder? noch nie ein office-standard-programm benutzt? is sich excel.....
nix für ungut *fg*
leider sonst nix zum thema..... ;-)
msconfig
Antwort 3 von msconfig
@k2-fly:
ausserdem stehts in der diskussionsgruppe "ms excel", was sollte es also wohl schon sein? ;-)
msconfig
ausserdem stehts in der diskussionsgruppe "ms excel", was sollte es also wohl schon sein? ;-)
msconfig
Antwort 4 von k2-fly
@msconfig
lol stimmt ist ja die excelgruppe :)
war halt gestern doch ne lange und feuchte Nacht *ggg*
lol stimmt ist ja die excelgruppe :)
war halt gestern doch ne lange und feuchte Nacht *ggg*
Antwort 5 von Redschina
hi petra,
wußte da leider auch keine lösung. habe aber ein wenig recherchiert. schau mal nach bei:
http://www.rendar.de/excel/inworten.txt
viel erfolg!
gruss, redschina
wußte da leider auch keine lösung. habe aber ein wenig recherchiert. schau mal nach bei:
http://www.rendar.de/excel/inworten.txt
viel erfolg!
gruss, redschina
Antwort 6 von sicci
Hallo Petra,
sofern das ganze nicht für jedwede x-beliebige Zahl gelten soll
kannst Du das - allerdings nur nach einmaligem Schreiben der Zahlen(als Text) recht einfach mit der SVERWEIS Funktion lösen, . Für ganze Zahlen von 1-100 hab ich Dir ne Beispieltabelle an Deine mailad geschickt
Gruß
sicci
sofern das ganze nicht für jedwede x-beliebige Zahl gelten soll
kannst Du das - allerdings nur nach einmaligem Schreiben der Zahlen(als Text) recht einfach mit der SVERWEIS Funktion lösen, . Für ganze Zahlen von 1-100 hab ich Dir ne Beispieltabelle an Deine mailad geschickt
Gruß
sicci
Antwort 7 von Petra
Die Idee ist schon ganz gut, nützt mir nur nicht so viel, weil ich es für jede x-beliebige Zahl brauche (DM-Beträge).
Danke
Danke
Antwort 8 von sicci
Tja, Petra,
sorry aber
da hilft dann möglicherweise nur noch, daß Du 90 (glaub ich jedenfalls) Mark investierst und Dir Herbers Excel CD kaufst, oder ein bißchen mehr, auch von Hans Herber, die xlErweiterung.
Schau Dir mal folgenden Link an, vielleicht kannst Du das ganze mit Word/Serienbrieffeld realisieren:
http://www.herber.de/forum/archiv/16to20/t16590.htm
Gruß sicci
sorry aber
da hilft dann möglicherweise nur noch, daß Du 90 (glaub ich jedenfalls) Mark investierst und Dir Herbers Excel CD kaufst, oder ein bißchen mehr, auch von Hans Herber, die xlErweiterung.
Schau Dir mal folgenden Link an, vielleicht kannst Du das ganze mit Word/Serienbrieffeld realisieren:
http://www.herber.de/forum/archiv/16to20/t16590.htm
Gruß sicci
Antwort 9 von michael oberley
hehe ganz einfach
a=range(a1)
range(a2)=str$(a)
a=range(a1)
range(a2)=str$(a)
Antwort 10 von michael oberley
ups ich glaub missverstanden sorry
Antwort 11 von Jadefalke
Versuchs mal so. Zahl in A1 z.B. 5, dann schreib in B2 einfach =Text(0,00;A1)
Vor dem Semikolon wird das Format der als Text auszugebenden Zahl angegeben !
Vielleicht klappts ja !
Vor dem Semikolon wird das Format der als Text auszugebenden Zahl angegeben !
Vielleicht klappts ja !
Antwort 12 von Jadefalke
Sorry, war ein Fehler meinerseits, hab die Frage auch falsch verstanden. Tschuldigung !
Antwort 13 von Redschina
hi,
ich habe evtl. etwas gefunden, leider kann ich das selbst nicht umsetzen:
=ZWORT(Zahl|Bezug]
Dim i%
Function ZWort(Zahl As Double) As String
Dim Teil1$, ATeil$, BTeil$, Rest$
If Fix(Zahl) = 0 Then
If Zahl = 0 Then
ZWort = "null"
Exit Function
Else
ZWort = Format((Zahl - Fix(Zahl)) * 100, "00") & "/100"
Exit Function
End If
End If
If Zahl = Fix(Zahl) Then
Rest = ""
Else
Rest = " " & Format((Zahl - Fix(Zahl)) * 100, "00") & "/100"
End If
If Zahl = 0 Then ZWort = "null": Exit Function
Zahl = Fix(Zahl)
If Zahl = 1 Then ZWort = "eins" & Rest: Exit Function
i = 0
ATeil = Right(Zahl, 3)
ZWort = Hunderter(ATeil)
If Len(Str(Zahl)) < 5 Then GoTo Beenden
Teil1 = ZWort
Zahl = Left(Zahl, Len(Str(Zahl)) - 4)
BTeil = Right(Zahl, 3)
ZWort = Hunderter(BTeil)
If ZWort > "" Then ZWort = ZWort & "tausend"
ZWort = ZWort & Teil1
If Right(ATeil, 3) = 1 Then ZWort = ZWort & "s"
If Len(Str(Zahl)) < 5 Then GoTo Beenden
Teil1 = ZWort
Zahl = Left(Zahl, Len(Str(Zahl)) - 4)
BTeil = Right(Zahl, 3)
ZWort = Hunderter(BTeil)
If BTeil = "1" Then
ZWort = "eine" & "million" & Teil1
Else
If ZWort > "" Then ZWort = ZWort & "millionen"
ZWort = ZWort & Teil1
End If
If Len(Str(Zahl)) < 5 Then GoTo Beenden
Teil1 = ZWort
Zahl = Left(Zahl, Len(Str(Zahl)) - 4)
BTeil = Right(Zahl, 3)
ZWort = Hunderter(BTeil)
If BTeil = "1" Then
ZWort = "eine" & "milliarde" & Teil1
Else
ZWort = ZWort & "milliarden" & Teil1
End If
Beenden:
ZWort = ZWort & Rest
End Function
Private Function Hunderter(Hteil)
Dim eZahl%, Ziffer1$, Ziffer2$, Ziffer3$
eZahl = Right(Hteil, 1)
Hunderter = Einer(eZahl)
Ziffer3 = Hunderter
If Hteil < 10 Then Exit Function
eZahl = Right(Hteil, 2)
If Right(Hteil, 2) < 20 Then
Hunderter = Zehner(eZahl)
Ziffer1 = Hunderter
If Len(Str(Hteil)) < 4 Then Exit Function
End If
eZahl = Mid(Hteil, Len(Hteil) - 1, 1)
If Hunderter <> "" Then
Hunderter = Hunderter & "und" & Zehner1(eZahl)
Else
Hunderter = Zehner1(eZahl)
Ziffer1 = Hunderter
End If
If Hteil < 100 Then Exit Function
eZahl = Mid(Hteil, Len(Hteil) - 2, 1)
eZahl = Mid(Hteil, Len(Str(Hteil)) - 3, 1)
If Right(Hteil, 2) < 10 Then
If Mid(Hteil, 2, 1) = 0 And Right(Hteil, 1) = 1 Then
Hunderter = Einer(eZahl) & "hunderteins"
Else
Hunderter = Einer(eZahl) & "hundert" & Ziffer3
End If
ElseIf Right(Hteil, 2) > 9 And Right(Hteil, 2) < 20 Then
Hunderter = Einer(eZahl) & "hundert" & Ziffer1
Else
Hunderter = Einer(eZahl) & "hundert" & Hunderter
End If
End Function
Private Function Einer(EinerZahl)
Select Case EinerZahl
Case Is = 1
Einer = "ein"
Case Is = 2
Einer = "zwei"
Case Is = 3
Einer = "drei"
Case Is = 4
Einer = "vier"
Case Is = 5
Einer = "fünf"
Case Is = 6
Einer = "sechs"
Case Is = 7
Einer = "sieben"
Case Is = 8
Einer = "acht"
Case Is = 9
Einer = "neun"
End Select
End Function
Private Function Zehner(ZehnerZahl)
Select Case ZehnerZahl
Case Is = 10
Zehner = "zehn"
Case Is = 11
Zehner = "elf"
Case Is = 12
Zehner = "zwölf"
Case Is = 13
Zehner = "dreizehn"
Case Is = 14
Zehner = "vierzehn"
Case Is = 15
Zehner = "fünfzehn"
Case Is = 16
Zehner = "sechzehn"
Case Is = 17
Zehner = "siebzehn"
Case Is = 18
Zehner = "achtzehn"
Case Is = 19
Zehner = "neunzehn"
End Select
End Function
Private Function Zehner1(ZehnerZahl)
Select Case ZehnerZahl
Case Is = 2
Zehner1 = "zwanzig"
Case Is = 3
Zehner1 = "dreißig"
Case Is = 4
Zehner1 = "vierzig"
Case Is = 5
Zehner1 = "fünfzig"
Case Is = 6
Zehner1 = "sechzig"
Case Is = 7
Zehner1 = "siebzig"
Case Is = 8
Zehner1 = "achtzig"
Case Is = 9
Zehner1 = "neunzig"
End Select
End Function
gruss, regina
ich habe evtl. etwas gefunden, leider kann ich das selbst nicht umsetzen:
=ZWORT(Zahl|Bezug]
Dim i%
Function ZWort(Zahl As Double) As String
Dim Teil1$, ATeil$, BTeil$, Rest$
If Fix(Zahl) = 0 Then
If Zahl = 0 Then
ZWort = "null"
Exit Function
Else
ZWort = Format((Zahl - Fix(Zahl)) * 100, "00") & "/100"
Exit Function
End If
End If
If Zahl = Fix(Zahl) Then
Rest = ""
Else
Rest = " " & Format((Zahl - Fix(Zahl)) * 100, "00") & "/100"
End If
If Zahl = 0 Then ZWort = "null": Exit Function
Zahl = Fix(Zahl)
If Zahl = 1 Then ZWort = "eins" & Rest: Exit Function
i = 0
ATeil = Right(Zahl, 3)
ZWort = Hunderter(ATeil)
If Len(Str(Zahl)) < 5 Then GoTo Beenden
Teil1 = ZWort
Zahl = Left(Zahl, Len(Str(Zahl)) - 4)
BTeil = Right(Zahl, 3)
ZWort = Hunderter(BTeil)
If ZWort > "" Then ZWort = ZWort & "tausend"
ZWort = ZWort & Teil1
If Right(ATeil, 3) = 1 Then ZWort = ZWort & "s"
If Len(Str(Zahl)) < 5 Then GoTo Beenden
Teil1 = ZWort
Zahl = Left(Zahl, Len(Str(Zahl)) - 4)
BTeil = Right(Zahl, 3)
ZWort = Hunderter(BTeil)
If BTeil = "1" Then
ZWort = "eine" & "million" & Teil1
Else
If ZWort > "" Then ZWort = ZWort & "millionen"
ZWort = ZWort & Teil1
End If
If Len(Str(Zahl)) < 5 Then GoTo Beenden
Teil1 = ZWort
Zahl = Left(Zahl, Len(Str(Zahl)) - 4)
BTeil = Right(Zahl, 3)
ZWort = Hunderter(BTeil)
If BTeil = "1" Then
ZWort = "eine" & "milliarde" & Teil1
Else
ZWort = ZWort & "milliarden" & Teil1
End If
Beenden:
ZWort = ZWort & Rest
End Function
Private Function Hunderter(Hteil)
Dim eZahl%, Ziffer1$, Ziffer2$, Ziffer3$
eZahl = Right(Hteil, 1)
Hunderter = Einer(eZahl)
Ziffer3 = Hunderter
If Hteil < 10 Then Exit Function
eZahl = Right(Hteil, 2)
If Right(Hteil, 2) < 20 Then
Hunderter = Zehner(eZahl)
Ziffer1 = Hunderter
If Len(Str(Hteil)) < 4 Then Exit Function
End If
eZahl = Mid(Hteil, Len(Hteil) - 1, 1)
If Hunderter <> "" Then
Hunderter = Hunderter & "und" & Zehner1(eZahl)
Else
Hunderter = Zehner1(eZahl)
Ziffer1 = Hunderter
End If
If Hteil < 100 Then Exit Function
eZahl = Mid(Hteil, Len(Hteil) - 2, 1)
eZahl = Mid(Hteil, Len(Str(Hteil)) - 3, 1)
If Right(Hteil, 2) < 10 Then
If Mid(Hteil, 2, 1) = 0 And Right(Hteil, 1) = 1 Then
Hunderter = Einer(eZahl) & "hunderteins"
Else
Hunderter = Einer(eZahl) & "hundert" & Ziffer3
End If
ElseIf Right(Hteil, 2) > 9 And Right(Hteil, 2) < 20 Then
Hunderter = Einer(eZahl) & "hundert" & Ziffer1
Else
Hunderter = Einer(eZahl) & "hundert" & Hunderter
End If
End Function
Private Function Einer(EinerZahl)
Select Case EinerZahl
Case Is = 1
Einer = "ein"
Case Is = 2
Einer = "zwei"
Case Is = 3
Einer = "drei"
Case Is = 4
Einer = "vier"
Case Is = 5
Einer = "fünf"
Case Is = 6
Einer = "sechs"
Case Is = 7
Einer = "sieben"
Case Is = 8
Einer = "acht"
Case Is = 9
Einer = "neun"
End Select
End Function
Private Function Zehner(ZehnerZahl)
Select Case ZehnerZahl
Case Is = 10
Zehner = "zehn"
Case Is = 11
Zehner = "elf"
Case Is = 12
Zehner = "zwölf"
Case Is = 13
Zehner = "dreizehn"
Case Is = 14
Zehner = "vierzehn"
Case Is = 15
Zehner = "fünfzehn"
Case Is = 16
Zehner = "sechzehn"
Case Is = 17
Zehner = "siebzehn"
Case Is = 18
Zehner = "achtzehn"
Case Is = 19
Zehner = "neunzehn"
End Select
End Function
Private Function Zehner1(ZehnerZahl)
Select Case ZehnerZahl
Case Is = 2
Zehner1 = "zwanzig"
Case Is = 3
Zehner1 = "dreißig"
Case Is = 4
Zehner1 = "vierzig"
Case Is = 5
Zehner1 = "fünfzig"
Case Is = 6
Zehner1 = "sechzig"
Case Is = 7
Zehner1 = "siebzig"
Case Is = 8
Zehner1 = "achtzig"
Case Is = 9
Zehner1 = "neunzig"
End Select
End Function
gruss, regina
Antwort 14 von sicci
Hallo Regina, hallo Petra,
Zur Umsetzung des Makros:
fügt man das Makro in ein allgemeines Modul im VB-Editor ein
(mit Alt/F11 in die Entwicklungsumgebung, Einfügen/Modul und das Makro reinkopiern),
dann erscheint im Funktionsassistent der Tabelle bei Funktion/benutzerdefiniert die Funktion "ZWort".
Diese setzt Zahlen in Worte um.
Hab es ausprobiert und: es ist das beste, das ich bis jetzt gefunden/probiert hab !!
..funktioniert einwandfrei und geht bis 100te Milliarden (bis jetzt kein Fehler in Sicht!).
Danke, Regina für diesen Superfund !!!
Gruß
sicci
Zur Umsetzung des Makros:
fügt man das Makro in ein allgemeines Modul im VB-Editor ein
(mit Alt/F11 in die Entwicklungsumgebung, Einfügen/Modul und das Makro reinkopiern),
dann erscheint im Funktionsassistent der Tabelle bei Funktion/benutzerdefiniert die Funktion "ZWort".
Diese setzt Zahlen in Worte um.
Hab es ausprobiert und: es ist das beste, das ich bis jetzt gefunden/probiert hab !!
..funktioniert einwandfrei und geht bis 100te Milliarden (bis jetzt kein Fehler in Sicht!).
Danke, Regina für diesen Superfund !!!
Gruß
sicci

