Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formatierung von Zahlen in Textfeldern

Formatierung von Zahlen in Textfeldern
15.01.2004 10:16:48
Lars
Hallo,
ich habe folgendes Problem:
Ich habe eine UserForm mit 2 Textfelder, in denen Zahlen dargestellt werden sollen. Diese Zahlen sollen mit Tausenderpunkt angezeigt werden. Beide Felder haben eine ControlSource (sagen wir mal A1 und A2), welche das Formatieren der Werte anscheinend verhindert.
Der Quelltext:

Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "#,##0.00")
End Sub


Private Sub TextBox2_AfterUpdate()
TextBox2 = Format(TextBox2, "#,##0.00")
End Sub


Private Sub UserForm_Activate()
Formatieren
End Sub



Private Sub Formatieren()
TextBox1 = Format(TextBox1, "#,##0.00")
TextBox2 = Format(TextBox2, "#,##0.00")
End Sub

Wenn ich die ControlSource der Felder entferne funktioniert es wunderbar.
Wenn ich nur ein TextFeld habe, dann funktioniert es wunderbar. (auch mit ControlSource)
Die Maske ist natürlich nur eine Demo und soll nur das Problem schildern. Ich will diesen Formatierungsprozeß in einer Funktion zusammenfassen, die beim Aktivieren der UserForm gerufen wird. Daher hätte ich gern das Grundproblem geklärt, warum die Werte nicht im angegebenen Format dargestellt werden, wenn man zwei Textfelder in einer Funktion formatiert.
Danke
Lars

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung von Zahlen in Textfeldern
15.01.2004 14:26:21
Hans W. Herber
Hallo Lars,
das funktioniert nicht. Grundsätzlich sind Textfelder nicht zu formatieren, sie haben immer nur das Textformat. Was formatiert werden kann, sind die Inhalte, was allerdings nicht im Widerspruch zum Zellinhalt stehen darf. Wenn also ein TextBox-Inhalt mit Tausender-Trennzeichen formatiert wird, versucht Excel den neuen Wert an die Zelle zu übergeben. Da dies nicht funktioniert, wird ausgestiegen und der Versuch bei der zweiten Zelle nicht mehr unternommen.
Es empfiehlt sich die goldene Regel, in Tabellenblatt-TextBoxes mit LinkdedCell und in UserForm-TextBoxes mit ungebundenen Steuerelementen zu arbeiten.
In diesem Fall einlesen mit:
TextBox1.Text = Range("A1").Text (wenn die Formatierung übernommen werden soll)
oder mit:
TextBox1.Text = Format(Range("A1").Value, "#,##0.00") (wenn die Formatierung nicht übernommen werden soll)
Gruss hans
Anzeige
Ok, Danke
15.01.2004 16:58:03
Lars
Hallo Hans,
danke, das war auch meine Vermutung. Dann werd ich wohl weiterhin ohne ControlSource in den Textfeldern arbeiten. Damit die User dann die Zahlen besser lesen können. :) Was tut man nicht alles ...
Gruß
Lars

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige