622 Aufrufe
Gefragt in Tabellenkalkulation von Mitglied (481 Punkte)
Hallo,

in einer Userform gebe ich Zahlen ein, die in einer Tabelle gespeichert werden.


Wie kann ich unabhängig von der Eingabe die Daten, die in der Tabelle eingetragen werden mit zwei Nachkommastellen darstellen?

ActiveSheet.Cells(last, 3).Value = UserForm1.Text_km_Gesamt.Value


Aktuell habe ich die Anzeige einfach mittels Format "Benutzerdefiniert" formatiert: ##0,00 "km"

4 Antworten

0 Punkte
Beantwortet von mixmax Experte (2.2k Punkte)
Würde sage das ist doch genau richtig - wenn du die Kilometer ausrechnerst und auf krumme werte kommst würde ich immer für das Format die Anzeige steuern. Ich würde nicht Runden weil das am ende dann ungenau wird.

Hast du ein Problem mit Fehlereingaben? dann könntest du ein onchange-Event einbauen das beim verlassen des Eingabefeldes z.B. das Feld rot markiert und den Absendenbutton blockiert wenn etwas falsch ist.
0 Punkte
Beantwortet von Mitglied (481 Punkte)
Hallo MixMax,

wenn ich so vorgehe, dass ich in der VBA Zeile die "km" hinzunehme, kann ich anschließend nicht mehr damit rechnen.

Außerdem möchte ich den Preis mit drei Nachkommastellen. Hier wird nur zweistellig übernommen (gerundet):
ActiveSheet.Cells(last, 5).Value = CCur(UserForm1.Text_Preis_Liter.Value)
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo happy1998,

wenn du deinen Wert aus der Userform mit CCur umwandelst, dann bekommst du automatisch nur zwei Nachkommastellen. Wenn du drei Nachkommastellen haben willst, dann musst du CDbl verwenden:
[code]With ActiveSheet.Cells(last, 5)
   .Value = CDbl(UserForm1.Text_Preis_Liter.Value)  
   .NumberFormat = "#,##0.000 $"
End With[/code]
Und um deine Kilometerangaben zu formatieren gehe wie folgt vor:
[code]With ActiveSheet.Cells(last, 3)
    .Value = CDbl (UserForm1.Text_km_Gesamt.Value)
    .NumberFormat = "#,##0.00 ""km"";-#,##0.00 ""km"""
End With[/code]
Du kannst natürlich mit beiden Werten in der Tabelle rechnen.

Gruß

M.O.
0 Punkte
Beantwortet von Mitglied (481 Punkte)
Perfekt!

wieder etwas dazugelernt!
...