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

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige