Fokuswechsel in Formular

Hallo Experten,

in Excel 2003 habe ich in einem selbstprogrammiertem Formular mehrere Textboxen. Diese sind auf 2 Frames verteilt. Wenn die erste Textbox aus Frame 1 leer (ohne Eingabe) verlassen wird, dann möchte ich per EXIT-Ereignis den Fokus auf die 1 Textbox im 2. Frame weitergeben. Bei der Programmausführung sehe ich, dass der Fokus die Textbox aus Frame 1 verlässt, aber in Textbox 1 in Frame 2 wird der Fokus erst sichtbar, wenn ich mit dem Mauszeiger in Frame 2 reinklicke. Man muss also scheinbar erst Frame 2 aktivieren. Ich habe versucht, Frame 2 ebenfalls den Fokus zu geben, aber das funzt nicht.

Habt ihr eine Idee?

Danke schon mal. Und ein gutes neues Jahr!
Wrzlpfrmft

Bei der Programmausführung sehe ich,

Hallo W.,

lade bitte eine Beispielmappe hoch mit z.B. fileupload, s. FAQ:2606

Gruß
Reinhard

http://www.file-upload.net/download-3997381/Anno-207…

http://www.file-upload.net/download-3997381/Anno-207…

Hallo W.,

setze mal bei beiden Optionsfeldern die TabStop Eigenschaft auf False.
Ersetze in dem Exit-Code die SetFocus-Zeile durch diese:
If formKunststoffe.Visible = True Then formKunststoffe.tbx_Kunststoffe_Ölbohrer.SetFocus

Der Grund für letzteres ist leichter erklärt.
Beim Klick auf den OK-Button wird ja durch Unload die UF geschlossen.
Dieses ruft das Exit-Ereignis der Textbox auf und es kommt ein Fehler weil man schlecht einen Fokus auf etwas setzen kann was nicht mehr da ist.
Ergo prüfe ich ab ob’s die UF, das Textfeld überhaupt noch gibt bevor ich den Fokus setze,

Zum ersteren, die Aktivierungsreihenfolge der UF-Elemente erscheint recht simpel, 0 für das erste, 1 für das zweite usw.
Dadurch kann man mit der Tab-Taste von Element zu Element hüpfen.
Oder per Code im Exit-Ereigniscode z.B. einer TB über SetFocus.

Mit dem „simplen“ habe ich schon Überraschungen erlebt.
Jetzt hast du Elemente in Frames auf der UF, das verkompliziert m.E. da so manches.

Du kannst ja mal ohne TabStop zu benutzen, durch Vergabe der „richtigen“ TabIndex Nummern eine Lösung zu finden.
Mir gelang das eben auf die Schnelle nicht.

Du kannst auch, solange du im Modul der UF bist, oben über
Ansicht—Aktivierungsreihenfolge die Reihenfolge beeinflußen.

Gruß
Reinhard

Hallo Reinhard,

wahrscheinlich ist der Frame einfach nicht für solche Aufgaben gedacht. Im Prinzip sollte ich ihn wohl nur für die beiden Optionsfelder verwenden. Aber ich möchte eben die Eingabefelder auch thematisch gruppieren. Weisst du wie ich das sonst noch machen könnte?

Martin

Hallo Martin,

wahrscheinlich ist der Frame einfach nicht für solche Aufgaben gedacht.

k.A., habe mit Frames keine Erfahrung.

Im Prinzip sollte ich ihn wohl nur für die beiden
Optionsfelder verwenden. Aber ich möchte eben die
Eingabefelder auch thematisch gruppieren. Weisst du wie ich
das sonst noch machen könnte?

Vielleicht eine Variante mit Image anstatt Frame, hier mal ein Ansatz:

http://www.uploadagent.de/show-181489-1325540029.html

Gruß
Reinhard

Martin

Hallo Reinhard,

ich habe es mir anders überlegt und gehe doch einen völlig anderen Weg ohne Userforms. Die bedeuten so wahnsinnig viel Aufwand alleine für die Programmierung der Benutzeroberfläche.

Vielen Dank für die Mühe.
Martin