Anzeige
Archiv - Navigation
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahlenformatierung per VBA

Zahlenformatierung per VBA
06.09.2007 13:16:06
Anja
Hey Leute,
ich moechte per VBA Zahlen in eine Spalte eintragen. Die Zahl soll immer als Trennzeichen statt Komma einen Punkt haben und nur eine Stelle nach dem Punkt (Bsp. "0.5"). Also es muesste dann bei Falscheingabe mit Komma oder gar 2 Stellen nach dem Punkt automatisch korrigiert werden. Wie kann ich das loesen?
Bis jetzt sieht der Code so aus:

Sub test
Sheets(1).Cells(x, y + 51).Value = Form_Doku.DefSizeTreshBox
Sheets(1).Cells(x, y + 51).NumberFormat = "#.#"
End Sub


Leider funzt das aber nicht. Muessen die beiden Zeilen vielleicht miteinander kombiniert werden?
Oder ist die Bezeichnung "#.#" falsch?
Danke schon mal im Voraus
Gruss Anja

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformatierung per VBA
06.09.2007 14:55:24
Wolli
Hallo Anja, das Problem ist, dass – so lange Dein PC deutsche Zahlenformate verwendet – ein DezimalKOMMA und ein TausenderPUNKT verwendet werden. In VBA sagst Du "#.#" und gibst damit den amerikanischen DezimalPUNKT an, der im deutschen Tabellenblatt als Komma dargestellt wird.
Mein Workaround: 1. Die Formatierung als "#"".""#" machen, dann wird ein Punkt "hart" dazwischen geschrieben. Die Zahl ist jetzt aber "falsch", denn aus 123,45 wird 12.3 - der Punkt hat keine Wirkung als Dezimaltrenner. Wenn Du aber den Zellwert mal 10 nimmst (... Value = Form_... * 10 ) lautet der Wert 1234,5 und wird als 123.4 dargestellt (Dezimale abgeschnitten). Dann hast Du, was Du brauchst, aber Vorsicht, der Wert ist jetzt intern verändert.
Alternativ kannst Du Deinen ganzen PC umstellen: Start - Einstellungen - Systemsteuerung - Regions- und Sprachoptionen - Anpassen - Dezimaltrennzeichen auf Punkt ändern, Zifferngruppierung auf Komma.
Gruß, Wolli

Anzeige
AW: Zahlenformatierung per VBA
07.09.2007 09:03:00
Anja
Hey Wolli,
vielen Dank erstmal fuer den Tip, funzt bei bestimmten Schreibweisen, Problem aber: Wenn man die Zahl doch mal mit Punkt statt Komma schreibt macht wird bspw. aus der 0.5 eine 5 gemacht oder man schreibt 0,5 dann erscheint .5 statt 0.5
In die Liste geben ja mehrere Leute Werte ein und irgendeiner haut Komma und Punkt immer durcheinander, deswg. wollt ich damit versuchen den Fehler gleich vorher zu korrigieren. Naja da es anscheinend komplizierter wird als angenommen, werd ich meinen Kollegen einfach eintrichtern, dass sie den Punkt beim Eintragen verwenden muessen ;-)
Danke trotzdem.
Gruss Anja

Anzeige
AW: Zahlenformatierung per VBA
07.09.2007 14:40:00
Wolli
Warte, warte, das muss doch hinzukriegen sein. Konkret: 1) Sollen a) Zahlen eingetragen werden oder b) Ziffern und Punkte, die eigentlich nur eine Zeichenkette darstellen?
Wenn a): Auf deutschen Computern haben Zahlen NIE einen Dezimalpunkt, sondern immer ein Dezimalkomma. Deshalb frage ich: Wieso muss ein Punkt eingegeben werden?
Dann sehen wir weiter
Gruß, Wolli

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige