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

Textbox1 - Werte unterlegen

Textbox1 - Werte unterlegen
05.08.2003 15:47:23
HeineR
Hallo Excels,
wieder mal... ein Problem.
In die Textbox1 der UserForm1 sollen Zeitwerte (im Format 1300 für 13:00 Uhr) eingegeben werden und nach dem Verlassen des Textfeldes automatisch in das Format 13:00 formatiert werden (das klappt).
Nach dem Aufruf der UserForm soll in der Textbox1 der Zeitwert 13:00 unterlegt dargestellt werden (das klappt natürlich nicht, der Cursor steht hinter dem Wert :-().

Private Sub UserForm_Initialize()
Sheets("Tabelle1").Select
With ANGABEN_ANFANGSWERTE.TextBox1
TextBox1.Text = Range("A1").Text
.SelStart = 0
.SelLength = Len(.Value)
End With

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 TextBox1_AfterUpdate()
TextBox1= Format(TextBox1, "##0:00")
End Sub

Wo liegt der Fehler?
Wer kann helfen und den Code berichtigen?
Vielen Dank vorab!
Gruß, HeineR

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

Betreff
Datum
Anwender
Anzeige
AW: Textbox1 - Werte unterlegen
05.08.2003 15:59:29
Ramses
Hallo,
kann ich so nicht nachvollziehen.
Me.TextBox1 = "13:00"
Me.TextBox1.SelStart = 0
Me.TextBox1.SelLength = Len(Me.TextBox1.Value)
macht bei mir genau das was du willst.
Vermutlich hast du ein grundsätzliches LogigProblem :-)
Du initialisierst die UF, UPDATEST die Textbox,.. und jetzt kommt dein zweiter Code zum tragen "Textbox1_AfterUpdate",.... und jetzt steht der Cursor natürlich hinter dem Text.
Gruss Rainer

AW: Textbox1 - Werte unterlegen
05.08.2003 17:02:14
Heiner
Hallo Rainer,
danke für Deinen Beitrag!
Vermutlich habe ich mich falsch ausgedrückt...
Ich versuche es noch einmal:
Natürlich meinte ich nicht die Eingabe selbst, sondern bei einem erneuten Aufruf der UserForm steht der Cursor hinter dem Zeitwert, anstatt den Wert unterlegt darzustellen.
Weiterhin wird dann in der Textbox 0:01 statt 13:00 angezeigt!
Ist das vielleicht ein Formatierungsproblem (##0:00)?
Hast Du noch einen Vorschlag?
Gruss HeineR

Anzeige
AW: Noch offen! Textbox1 - Werte unterlegen
05.08.2003 17:41:53
Heiner
Hallo Rainer,
ich habe folgendes probiert:

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


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


Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "##0:00")
End Sub


Private Sub CommandButton1_Click()
With UserForm1
Range("Tabelle1!A1") = UserForm1.[TextBox1].Text
End With
End Sub

Leider besteht das Problem nach wie vor!
Bei ERNEUTEM Aufruf der UserForm1 ist der Wert nicht unterlegt, sondern der Cursor steht HINTER dem Wert!
Ein Formatierungsproblem (TextBox1 = Format(TextBox1, "##0:00")?
Hast Du noch einen Tip??
Gruss HeineR

Anzeige
Also nochmal....
05.08.2003 21:03:24
Ramses
Hallo Heiner,
der Fehler ist ganz einfach nachzuvollziehen.
Lass mal das

Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "##0:00")
End Sub

weg. Dann funktioniert es nämlich !!
Du öffnest die Userform und schreibst was rein, damit löst du ja das Update Ereignis aus und formatierst den Wert der da drin steht als Uhrzeit.
Inhalte einer Textbox sind aber nunmal Text und können nicht als Uhrzeit formatiert werden. Deshalb steht dann auch 0:01 drin.
Indem Moment wo du mit dem After_Update die Textbox wieder füllst wird das ganze wieder aufgerufen.
Du prüfst doch schon während der Eingabe, was ich allerdings nicht verstehe.
Wie soll ich eine Uhrzeit eingeben, wenn nur Zahlen von 0-9 erlaubt sind.
Ich glaube du solltest den Ablauf nochmal überdenken.
Gruss Rainer

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige