online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon andreas_3 vom 11.12.2021, 16:51 Options

Userform Zahlenformat

Hallo zusammen

ich bräuchte mal wieder Hilfe...

ich hab eine Userform angelegt, in die durch ein Makro Werte aus einer Excel-Tabelle angezeigt werden.

NettingMaske.Beispiel.Value = CDec(Range("M1"))

Funktioniert alles soweit, nur werden Beträge nur mit den Kommastellen angezeigt, die nicht "0" sind, also z.B.
420,00 EUR mit 420
420,10 EUR mit 420,1
429,01 EUR mit 420,01

sieht halt dadurch etwas unübersichtlich und unfreundlich aus.. kann man das irgendwie ändern, dass nach Wunsch immer 1, 2 oder 3 Nachkommastellen angezeigt werden?

Besten Dank und ein schönes Wochenende

Gruß
Andreas


Antwort schreiben

Antwort 1 von Hajo_Zi vom 11.12.2021, 16:54 Options

Hallo Andreas,

falls so wie in der Zelle?
=Range("M1").Text

Gruß Hajo

Antwort 2 von andreas_3 vom 11.12.2021, 16:58 Options

Hallo Hajo,

ja, so hatte ich es ursprünglich, aber (sorry, habe ich nicht erwähnt), die Zahl muß nachher mit dem nächsten Makro wieder zurück in die Excel-Tabelle, eventuell ändert sie der User aber auch ab, und dann funktioniert das irgendwie nicht mit den Kommastellen...

gibt's nich eine andere Idee?

LG
Andreas

Antwort 3 von Hajo_Zi vom 11.12.2021, 17:07 Options

Hallo Andreas,

Dir ist schon klar das eine Textbox Text enthält Du liest eine Zahl aus und schreibst Text zurück.
Da mußt Du beim zurückschreiben eine Umwandlungsfunktion benutzen z.B. CDbl(), falls Du damit rechnen willst.

Gruß hajo

Antwort 4 von Charlotte_S vom 11.12.2021, 17:08 Options

Hallo Andreas,

mit A8 = 420, A9 = 420,1, A10 = 420,01

Sub Test2()
Dim i As Integer
For i = 8 To 10
MsgBox "A" & CStr(i) & " = " & Format(ActiveSheet.Range("A" & CStr(i)), "0.00")
Next i
End Sub 


MfG Charlotte

Antwort 5 von Charlotte_S vom 11.12.2021, 17:14 Options

Hallo Andreas,

kleine Erweiterung: nach Rückkonvertierung durch CDbl(s) lässt sich damit auch problemlos weiterrechnen.

Sub Test3()
Dim i As Integer, s As String
For i = 8 To 10
MsgBox "A" & CStr(i) & " = " & Format(ActiveSheet.Range("A" & CStr(i)), "0.00")
s = Format(ActiveSheet.Range("A" & CStr(i)), "0.00")
ActiveSheet.Range("B" & CStr(i)) = CDbl(s) + 100.9
Next i
End Sub 
MfG Charlotte

Antwort 6 von andreas_3 vom 11.12.2021, 17:29 Options

... da muß ich mich mal reinvertiefen....
bin nur leider nächste Woche nicht da, ich werd also "irgendwann" mal drauf zurückkommen müssen.
Aber danke schon mal für die Ansätze und schönes Wochenende

LG
Andreas

Ähnliche Themen

UserForm ListBox
fedjo  15.06.2008 - 165 Hits - 8 Antworten

activate userform
benny_inv_lk  18.12.2008 - 23 Hits - 3 Antworten

Optionbutton in Userform
Kaleun  27.02.2009 - 296 Hits - 4 Antworten

Zahlenformat eingeben
paros666  06.03.2009 - 132 Hits - 3 Antworten

codierung zahlenformat "vom punkt zum komma"
nockenwelle  12.08.2009 - 559 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026