HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Forumbeitrag
Excel-Version des Fragestellers:
bis 2003
Erfahrungslevel des Fragestellers:
VBA nur mit Recorder
chris58
13.01.2025 16:55:27
AW: Von Userform richtig eintragen lassen
Hallo an Alle Helfer !
Ich habe alles gelesen und habe den Code von Peter anstatt dem vorhandenen Code genommen.
Danke, das geht einwandfrei - außer......es entstehen noch Komplikationen. Aber sonst ..............SUPER
Danke nochmal an ALLE die mir Ihre Zeit geopfert haben.
lg chris58
Als Antwort auf diesen Beitrag
daniel
13.01.2025 15:46:16
AW: Von Userform richtig eintragen lassen
Hi
in Textboxen steht immer Text.
Wenn du einen Text direkt in eine Zelle schreibst (Cells(...).Value = Textbox1.Text), wird Excel trotzdem prüfen, ob dieser Text eine Zahl, ein Datum oder eine Formel sein könnte und wenn es eine solche erkennt, wird es die Umwandlung durchführen.
das Problem an der Sache ist, dass Excel und VBA hier amerikanisch miteinander reden, dh dein Komma wird nicht das Dezimalzeichen, sondern als Tausendertrennpunkt gewertet.

die Lösungsmöglichkeiten wären:
a) du akzeptierst dass und schreibst die Zahl im amerikanischen format: Cells(...).Value = Textbox1.Text mit 1.356
b) tu ärgerst deinen Anwender nicht mit solchen Kinkerlitzchen und tauschst das Komma gegen den Punkt: Cells(...).Value = Repalce(Textbox1.Text, ",", ".") das hätte auch den Vorteil, dass der Anwender beide Varianten eintragen kann und es immer funktioniert, auch in einem amerikanischen Excel
c) du wandelst den Text vorher schon in eine Zahl, das übliche CDbl orientiert sich an der aktuellen Ländereinstellung: Cells(...).Value = CDbl(textbox1.text)
hier ist der Nachteil, dass dir der Code einen Fehler quittiert, wenn sich der Text nicht in eine Zahl wandeln lässt (Fahlscheingabe), was dann Absicherungen oder Vorabprüfungen erfordert.
d) tu teilst Excel mit, dass der Wert, der jetzt kommt, in Deutsch ist: Cells(...).FormulaLocal = Textbox1.Text

Gruß Daniel
Folgenachrichten
Antwort auf Beitrag erstellen

Beispieldatei hochladen