VBA SetFocus aus einem Frame heraus

Hi,
nachdem eine Combobox(cbo1), die innerhalb eines frames (fra1) liegt, gefüllt worden ist, soll eine Textbox (txt1), die nicht innerhalb eines frames sondern direkt auf der Userform (frm1) liegt, den Focus erhalten. Über die Tabindex-Eigenschaft geht es nicht, da die Controls innerhalb des frames selbständig gezählt werden. Auch mit

Sub cbo1_Exit
frm1.txt1.SetFocus
End sub

gelingt es nicht. Wie kann ich mein Ziel erreichen?

Gruß Wilhelm

Also, wenn dann muß es das lostfocus ereignis sein:

sub cbo1_lostfocus
txt1.setfocus
end sub

in welchem frame die einzelnen elemente liegen ist dabei egal.
Aber du schreibst: „nach der eingabe“
Das ereignis lostfocus tritt ein, wenn man das element (in diesem fall cbo1) verläßt!
Also solltest du eher cbo1_click als ereignis verwenden, das tritt ein, wenn du einen wert per maus auswählst oder du return drückst.

mfg,
Tom

btw: Warum nimmst du nicht gleich VB her?

Hi Thomas,

aber wenn es das lostfocus-Ereignis nicht gibt? Es erscheint jedenfalls nicht in dem rechte Drop-down-Feld als Vorschlag - und selbstgeschrieben funktioniert’s natürlich auch nicht. Meine Visual Basic Version ist 1996.

Auch mit Sub cbo1_click() funktioniert es nicht. Fällt Dir irgendein workaround ein? Und was meinst Du mit

btw: Warum nimmst du nicht gleich VB her?

CU Wilhelm

btw … by the way
.

Hi Wilhelm,

am besten, Du schreibst noch einmal präziser, was Du erreichen willst.

nachdem eine Combobox(cbo1), die innerhalb eines frames (fra1)
liegt, gefüllt worden ist, soll eine Textbox (txt1), die nicht
innerhalb eines frames sondern direkt auf der Userform (frm1)
liegt, den Focus erhalten. Über die Tabindex-Eigenschaft geht
es nicht, da die Controls innerhalb des frames selbständig
gezählt werden. Auch mit

Was heißt „nachdem [sie] … gefüllt worden ist“? Wenn Du die ComboBox im Initialize-Ereignis der Form füllst, gehört auch dort der Befehl frm1.txt1.SetFocus hin.

Willst Du, dass das Textfeld nach der Auswahl eines Elements der Box den Focus erhält, gehört der Befehl in die Sub ComboBox_Click(), wie mein Vorredner schon sagte.

Wenn Du willst, kannst Du mir die Datei mal mailen, dann weiß ich vielleicht besser, wo Dein Problem liegt :wink:

Viele Grüße
Sculpture