Supportnet Computer
Planet of Tech

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

Antwort 3 von msconfig

@k2-fly:

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*

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

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

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

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

Antwort 9 von michael oberley

hehe ganz einfach
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 !


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



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