Excel VBA: Dezimalzahl mit 2 Stellen hinterm Komma einstellen ?

Ich habe auf meine Win7 Rechner (64bit) Office 2010. Bei einem Makro in Visual Basic habe ich in einem Textfeld eine Dezimalzahl stehen: „88,4“. Diese Zahl möchte ich als „88,40“ formatieren, bekomme das aber nicht hin.

Zunächst habe ich über „String1 = Arbeitsblatt.Controls(„Textbox“ & k).Text“ den Inhalt der Textbox in eine Variable übernommen. Die Bastelei mit Strings, Komma suchen, Text abschneiden usw. ist mir zu umständlich.

Ich habe die Zahl in eine Zelle im Tabellenblatt kopiert und per Makro die Zelle selektiert und dann mit "Selection.NumberFormat = „0.00“ angesteuert. Da passiert aber nichts, die Zahl bleibt bei „88,4“.

Gibt es eine VB-Anweisung, die sowas erledigt?

Vielen Dank für Hinweise
Gruß
Pauli

…ich denke, ich habe durch Ausprobieren eine Lösung gefunden:

Wenn String1=„88,4“ enthält, wird aus „String1=Format(String1, „##,#0.00“)“ dann 88,40.

Ich hoffe, daß das nun kein Einmalerfolg war.

Gruß
Pauli

Moin pauli,

es gibt verschiedene Methoden, Zahlen zu formatieren, ich gebe folgend mal wieder, was ich in meiner eigenen Hilfe notiert habe::

Will man Zahlen aus anderen Zellen einfügen, wird ohne Formatierung/Rundung eine unsinnig hohe Stellezahl angezeigt.
Beispiel: In C23 steht 2,78. Mit ="Wert = " & C23 wird 2,7812936386541 angezeigt.

Daher: ="Wert = " & RUNDEN(C23;2)
oder: ="Wert= " & TEXT(A1;„0,00“)

Auch mit Vorkomma machbar:
=Wert = " & TEXT(A1;„000,00“)

Auch das # ist wie üblich verwendbar.

Keine Einmalerfolge! :wink:
Gruß, Laika

Hallo Laika,

ich denke, das was Du schreibst, gilt für die Zellen des Tabellenblattes. Mein Problem liegt aber darin, dasselbe im Makro (Visual Basic) zu machen. Die „Zelle“ ist bei mir die „Textbox“. Hier sind die Anweisungen für das Tabellenblatt nicht einfach anwendbar.
Im Moment habe ich die Lösung, die in der Textbox als Text formatierte Zahl in eine Zelle zu kopieren, dort umzuwandeln, mit einer weiteren Zahl zu addieren und dann zurück in die Textbox zu holen, etwas blöd, aber funktioniert wenigstens.

Gruß
Pauli