Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Punkt und Komma in Textbox

Punkt und Komma in Textbox
20.01.2016 14:10:46
Andreas
Hallo zusammen,
ich habe in ein und derselben UserForm 2 Textboxen.
In beiden werden in der Regel Dezimalzahlen in dem Format #,###### eingeben und in eine Zelle geschrieben.
In der ersten Textbox funktioniert auch alles bestens, in der zweiten wird das Komma nicht erkannt.
Beispiel:
Eingabe 4,123456
In der Zelle für Textbox1 steht: 4,123456
In der Zelle für Textbox2 steht: 4123456,0000
Nur wenn ich in Textbox2 4.123456 mit einem Punkt eingebe, wird die richtige Zahl in die Zelle geschrieben. Die Textboxen sind total identisch formatiert, zumindest soweit ich das beurteilen kann.
Kann mir hier jemand helfen?
Danke schonmal und Gruß
Andreas

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Punkt und Komma in Textbox
20.01.2016 14:14:02
Werner
Hallo Andreas,
wie (Code) übergibst du die Werte aus den Textboxen in die Zellen?
Werner

AW: Punkt und Komma in Textbox
20.01.2016 14:20:00
Andreas
Hallo Werner,
Sheets("Calculation").Cells(1, 6).Value = Me.TextBox1.Text
Sheets("Calculation").Cells(2, 6).Value = Me.TextBox2.Text
Gruß
Andreas

AW: Punkt und Komma in Textbox
20.01.2016 14:23:40
Daniel
Hi
wenn du die Zahl mit Komma in die TextBox eingibst, dann probiere mal .FormulaLocal anstelle von .Value:
Sheets("Calculation").Cells(1, 6).FormulaLocal = Me.Textbox1.Text
Gruß Daniel

Anzeige
AW: Punkt und Komma in Textbox
20.01.2016 14:27:33
Andreas
Sauber, das funktioniert!
Vielen Dank an Euch für die schnelle Hilfe!

AW: Punkt und Komma in Textbox
20.01.2016 14:21:34
Daniel
Hi
in einer TextBox steht immer ein unformatierter Text.
problematisch wird's dann, wenn du einen Text in eine Zahl und dann diese Zahl wieder zurück in einen Text wandelst.
Das Problem hier bei ist, dass wir in Deutschland das Komma als Dezimalzeichen verwenden, in England und Amerika aber der Punkt verwendet wird.
In VBA ist dann ein Mischmasch von beiden Varianten vorhanden, dh es hängt von der Methode ab, WIE du von Text nach Zahl und zurück wandelst, welches Dezimalzeichen grade verwendet wird.
wenn du konsequent die Umwandlungsfunktionen CDbl() für Text->Zahl und CStr() für Zahl->Text verwendest, sollte durchgängig das Komma als Dezimalzeichen vorkommen.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Umgang mit Punkt und Komma in Textboxen in Excel


Schritt-für-Schritt-Anleitung

  1. Erstelle eine UserForm mit zwei Textboxen in Excel.

  2. Setze die Formatierung der Textboxen so, dass sie Dezimalzahlen im Format #,###### akzeptieren.

  3. Füge den folgenden VBA-Code in das Modul deiner UserForm ein, um die Werte aus den Textboxen in die Zellen zu übertragen:

    Sheets("Calculation").Cells(1, 6).Value = Me.TextBox1.Text
    Sheets("Calculation").Cells(2, 6).Value = Me.TextBox2.Text
  4. Verwende .FormulaLocal statt .Value, um sicherzustellen, dass das Komma als Dezimalzeichen erkannt wird:

    Sheets("Calculation").Cells(1, 6).FormulaLocal = Me.TextBox1.Text
  5. Teste die Eingabe in beiden Textboxen mit Komma und Punkt.


Häufige Fehler und Lösungen

  • Problem: In der zweiten Textbox wird das Komma nicht erkannt.

    • Lösung: Stelle sicher, dass du .FormulaLocal verwendest, um das richtige Dezimalzeichen für die Regionaleinstellung zu nutzen.
  • Problem: Excel macht Komma statt Punkt.

    • Lösung: Verwende die Umwandlungsfunktionen CDbl() für Text zu Zahl und CStr() für Zahl zu Text. Dies hilft, das Dezimalzeichen konsistent zu halten.

Alternative Methoden

  • Direkte Umwandlung: Du kannst die Funktion Replace verwenden, um Punkte in Kommas oder umgekehrt zu konvertieren, bevor du die Werte in die Zellen schreibst:

    Me.TextBox1.Text = Replace(Me.TextBox1.Text, ".", ",")
  • Excel-Funktionen: Nutze die Excel-Funktion TEXT() in einer Zelle, um die Darstellung von Zahlen mit Punkt oder Komma zu ändern.


Praktische Beispiele

  • Beispiel 1: Du gibst 4,123456 in TextBox1 ein. Wenn du den Wert in eine Zelle überträgst, sollte die Zeile in der Zelle 4,123456 anzeigen.

  • Beispiel 2: Wenn du 4.123456 in TextBox2 eingibst, wird die Zelle 4,123456 korrekt angezeigt, sofern du .FormulaLocal verwendest.


Tipps für Profis

  • Achte darauf, dass die Regionaleinstellungen von Excel mit den verwendeten Dezimalzeichen übereinstimmen. Dies kann unter Datei > Optionen > Erweitert überprüft werden.
  • Nutze Fehlerbehandlungsroutinen in deinem VBA-Code, um unerwartete Eingaben zu handhaben und eine bessere Benutzererfahrung zu bieten.
  • Bei Bedarf kannst du auch Datenvalidierung für die Textboxen einrichten, um sicherzustellen, dass nur gültige Dezimalzahlen eingegeben werden.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Textboxen immer das richtige Dezimalzeichen verwenden? Verwende die VBA-Funktionen CDbl() und CStr() für die Umwandlung zwischen Text und Zahl.

2. Was muss ich tun, wenn Excel immer Punkt statt Komma verwendet? Überprüfe die Regionaleinstellungen und stelle sicher, dass du die richtige Methode zur Übertragung von Werten verwendest, z.B. .FormulaLocal.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige