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

SetFocus

SetFocus
04.02.2004 13:54:55
Monika
Hallo,
ich habe ein Problem:
in einer UF frage ich mit zwei Textboxen ein Anfangs- und ein Enddatum ab.
Bei Verlassen der zweiten Textbox wird geprüft, ob das Enddatum nicht kleiner als das Anfangsdatum ist.
Ist dies der Fall, soll eine MSG-Box erscheinen und der Fokus wieder auf die zweite Textbox gestellt werden.
Die MSG-Box erscheint zwar, der Fokus wird jedoch auf die nachfolgende Listbox gesetzt.
Was ist an dem nachstehenden Code falsch?
Vielen Dank für Eure Hilfe!
Gruß Moni

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2.Value >= TextBox1.Value Then
beginn = CDate(TextBox1.Value)
ende = CDate(TextBox2.Value)
TextBox3.Value = atage(beginn, ende, ListBox1.Value)
TextBox4.Value = ende - beginn + 1
Else
MsgBox "Enddatum kann nicht vor Anfangsdatum liegen"
TextBox2.SetFocus
End If
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SetFocus
04.02.2004 14:24:38
Willie
Hallo Monika
Hast du es schon versucht Setfocus vor der Msgbox zu setzten?
TextBox2.SetFocus
MsgBox "Enddatum kann nicht vor Anfangsdatum liegen"
Gruß
Willie
funktioniert leider auch nicht (o.T.)
04.02.2004 14:43:40
Moni
AW: SetFocus
04.02.2004 15:20:11
Willie
Ich schau nochmal danach und schicke dir die Lösung!
Willie
AW: SetFocus
04.02.2004 17:05:50
TextBox2.SetFocus
Hallo Moni,

h


einfach:


    With TextBox2
        .SelStart = 0
        .SelLength = Len(.Value)
    End With
    Cancel = True

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß
Nepumuk
Anzeige
AW: SetFocus
04.02.2004 17:33:14
Willie
Hallo Moni Nepumuk war schneller
Ich habe dir aber die Mappe von mir hochgeladen ... beim Prüfen klappt es auf jedenfall
bei der Textbox2 den Code von Nepumuk eintragen, dann klappt es!
Gruß
Willie
https://www.herber.de/bbs/user/3419.xls
Danke, aber noch 2 Fragen
05.02.2004 11:38:32
Moni
Hallo Willie und Nepumuk,
Vielen Dank Euch beiden. Es funktioniert tatsächlich.
Ich habe aber noch zwei Fragen:
1. Was passiert eigentlich bei SelStart, SelLength ?
2. Warum funktioniert SetFocus nicht?
Über eine Antwort würde ich mich freuen, da ich immer noch was lernen will.
Gruß Moni
PS: Sorry, daß ich mich erst jetzt melde, aber ich habe die Antworten eben erst gelesen.

Anzeige
AW: Danke, aber noch 2 Fragen
05.02.2004 18:06:21
Nepumuk
Hallo Moni,
mit SelStart und SelLength wird nur der Text in der Textbox markiert, so wie wenn du mit gedrückter linker Maustaste über den Text fährst, damit ihn der User bei der Neueingabe ihn nicht erst löschen muss.
Die SetFocus - Methode funktioniert deswegen nicht, da das Exit - Ereignis vor dem verlassen der Textbox ausgeführt wird. In dem Moment ist aber der Cursor noch in der Textbox und erst nach Beendigung des Ereignisses wird die Cursorweiterschaltung ausgelöst. Du hättest also die SetFocus - Methode in den anderen Steuerelement platzieren müssen. Das ginge auch, ist aber umständlich, da du erst eine öffentliche Variable initialisieren, und diese dann in den anderen Steuerelementen wieder abfragen müsstest.
Gruß
Nepumuk
Anzeige
Danke Nepumuk
06.02.2004 09:57:26
Moni
Hallo Nepumuk,
Vielen Dank für Deine Erklärungen.
Jetzt bin ich wieder ein Stück weiter
Viele Grüße
Moni
AW: Danke Nepumuk
06.02.2004 12:52:41
Willie
Hallo Monika
Ich habe es erst jetzt gesehen, dass du noch Fragen hattest!
Aber Nepumuk hat sie dir ja schon bestens Beantwortet!
Schönes Wochenend aus BaWÜ
Willie

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige