Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1364to1368
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
Zahlenformatierung in TextBox
18.06.2014 13:39:32
Han2883
Hallo,
ich habe die deutsche Version von Excel deswegen ist das problemlos für die Erkennung des "Komma"s wenn ich "1,23 kg" in eine Excel-Tabelle eintrage.
Aber bei der Eingabe in TextBox in Userform wird die Eingabe von "1,23 kg" als "123 kg" erkannt. Ein anderes Beispiel ist dass die Eingabe von "1.057 kg" in TextBox als "1,057 kg" erkannt wird.
Könnte mir jemand dabei helfen? Danke im voraus! :-)
Gruß
Han2883

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformatierung in TextBox
18.06.2014 13:42:35
Hajo_Zi
nur wenige sehen Deinen Code und sehen wie Du das erkennst.

AW: Zahlenformatierung in TextBox
18.06.2014 13:50:19
Han2883
Wie meinst du genau Hajo_Zi?
Gruß
Han2883

AW: Zahlenformatierung in TextBox
18.06.2014 13:53:28
Hajo_Zi
du hast geschrieben das er das falsch erkennt, ich bin davon ausgegangen das es Code ist der das falsch erkennt.
Ansonsten muss Du es genauer beschreiben.

AW: Zahlenformatierung in TextBox
18.06.2014 14:18:09
Han2883
Hallo Hajo_Zi,
Hier habe ich zwei Screenshots gemacht:
Userbild
Userbild
und noch das Code dazu:
Private Sub CommandButton1_Click()
Sheets("Tabelle1").Cells(2, 2).Value = Me.TextBox1.Value
Unload Me
End Sub
Ich hoffe es wird jetzt klarer. :-)
Gruß
Han

Anzeige
AW: Zahlenformatierung in TextBox
18.06.2014 14:21:07
Hajo_Zi
du schreibst Text in die Zelle da eine TextBox Text enthält. Benutze Umwandlungsfunktionen z.B. CDBL()
Gruß Hajo

AW: Zahlenformatierung in TextBox
18.06.2014 14:46:40
Han2883
Hallo Hajo,
Danke Dir sehr! es funktioniert jetzt nachdem ich folgendes geändert habe:
Sheets("Tabelle1").Cells(2, 2).Value = CDbl(Me.TextBox1.Value)
statt:
Sheets("Tabelle1").Cells(2, 2).Value = Me.TextBox1.Value
wieder was Neues gelernt. Danke nochmal! :-)
Gruß
Han

AW: Zahlenformatierung in TextBox
18.06.2014 15:52:03
Daniel
und damit du noch was lernst:
Wenn du einen Text in eine Zelle schreibst, dann prüft Excel, ob dieser Text eine Zahl sein könnte und wenn ja, wandelt Excel diesen Text in ein Zahl um.
In einem Deutschen Excel verwendet Excel auch das Deutsche Zahlenformat mit dem Komma als Dezimal und dem Punkt als Tausenderzeichen, wenn du den Text von Hand in die Zelle eingibst.
VBA und Excel reden jedoch Englisch miteinander, dh wenn der Text von einem VBA-Makro kommt, dann wendet Excel bei der Prüfung ob es sich um eine Zahl handelt, das Englische Zahlenformat mit dem Punkt als Dezimal- und dem Komma als Tausendertrennzeichen an.
dh wenn du im Text das Komma durch den Punkt austauscht, entspricht der Text dem englischen Zahlenformat und wird dann von Excel als Zahl erkannt:
Sheets("Tabelle1").Cells(2, 2).Value = Replace((Me.TextBox1.Value, ",", ".")
die CDBL-Funktion verwendet bei der Umwandlung von Text in Zahl automatisch die Landestypischen Dezimal- und Tausenderzeichen und du übergibst dann keinen Text der von Excel gewandelt werden muss, sondern gleich die fertige Zahl.
Der Nachteil der CDBL-Funktion ist, dass sie einen Fehlerabbruch erzeugt, wenn die Textbox leer ist oder einen Text enthält, der nicht in eine Zahl wandelbar ist.
Um solche Fehlerabbrüche zu vermeiden, solltest du also eine entsprechende Prüfung einbauen, wenn du mit CDBL arbeitest:
IF IsNumeric(me.Textbox1.text) then Sheets("Tabelle1").Cells(2, 2).Value = CDbl(Me.TextBox1.Value)
Gruß Daniel

Anzeige
AW: Zahlenformatierung in TextBox
18.06.2014 16:37:25
Han2883
Hallo Daniel,
Danke für deine Hilfe. das hat mir sehr geholfen. :-)
Gruß
Han2883

328 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige