Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem mit Textbox-Formatierung :-(

Forumthread: Problem mit Textbox-Formatierung :-(

Problem mit Textbox-Formatierung :-(
16.07.2003 13:57:53
Heiner
Hallo Excels,
ich habe zwei Probleme mit einer TextBox.
Problem 1:
Wenn ein Betrag in die Textbox1 eingegeben wird (das soll ohne Eingabe eines Komma geschehen, z.B.
665 statt 6,65), soll der Betrag nach dem Verlassen des Feldes automatisch in das Format 6,65 for-
matiert werden.
Irgendwie klappt das mit meinem Code nicht.
Nach dem Verlassen des Feldes hat der Betrag das Format 102,00 :-(


Private Sub UserForm_Initialize()
Sheets("Tabelle1").Select
With UserForm1.Textbox1
Textbox1.Text = Range("V49").Text
.SelStart = 0
.SelLength = Len(.Value)
End With
End Sub


Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not Chr(KeyAscii) Like "[0-9]" Then Call ZahlErlaubt: KeyAscii = 0
End Sub


Private Sub Betrag1_AfterUpdate()
Textbox1 = Format(Textbox1, "#,##0.00")
End Sub

Ändere ich den Code folgendermaßen,

Private Sub Textbox1_AfterUpdate()
Textbox1 = Format(Textbox1, "#0\,00")
End Sub

dann wird zwar das richtige Format gesetzt, aber beim Aufruf der UserForm wird in TextBox1 leider
0,07 statt 6,65 angezeigt und ich habe das Problem 2. :-(
Wer hat eine Idee und kann den Code so umstricken, das beide Probleme gelöst sind.
Ein großes Danke vorab!!
Gruß, Heiner
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Textbox-Formatierung :-(
16.07.2003 14:27:01
ANdreas
Hallo Heiner,
so vielleicht?:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = TextBox1.Value / 100
End Sub


Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub


Private Sub UserForm_Initialize()
With UserForm1.TextBox1
.Text = Worksheets("Tabelle1").Range("V49").Text
.SetFocus
.SelStart = 0
.SelLength = Len(.Text) - 1
End With
End Sub

Hoffe das hilft weiter,
Andreas

Anzeige
AW: Problem mit Textbox-Formatierung :-(
16.07.2003 15:40:11
Heiner
Hallo Andreas,
das klappt noch nicht so richtig...
Das erste Problem ist mit Deinem Vorschlag gelöst! :-)
Bei Eingabe von 665 wird das Format in der Textbox1 auf 6,65 gesetzt.
Das klappt!!
Problem2 klappt so leider nicht...
Wenn die UserForm wieder aufgerufen wird, steht in Textbox1 0,0665 statt 6,65.
Das klappt also noch nicht so richtig...
Hast Du noch eine Idee?
Ist es möglich, das der Text 0,0665 gleich komplett markiert wird, wenn die UserForm
aufgerufen wird?
Gruß
Heiner

Anzeige
AW: Problem mit Textbox-Formatierung :-(
17.07.2003 19:44:34
ANdreas
Hallo Heiner,
meinst Du das?:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
With TextBox1
If InStr(.Value, ",") = 0 Then .Value = .Value / 100
End With
End Sub


Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub


Private Sub UserForm_Initialize()
With UserForm1.TextBox1
.Text = Worksheets("Tabelle1").Range("V49").Text
.SetFocus
Application.SendKeys "^A"
End With
End Sub

Hoffe das hilft weiter,
Andreas

Anzeige
AW: Problem mit Textbox-Formatierung :-(
17.07.2003 19:51:24
Heiner
Hallo Andreas,
das klappt bestens!
Genau DAS meinte ich!
Vielen Dank!
Gruß
Heiner

;

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