2.6k Aufrufe
Gefragt in Tabellenkalkulation von tomschi Mitglied (879 Punkte)
Guten Morgen allseits!

Auf einem Userform befinden sich Commandbuttons die der User auswählen soll. Dabei möchte ich erreichen, dass keiner von den vorhandenen Commandbuttons markiert ist.

Daher suche ich nach dem Gegenteil von SetFocus, aber trotz diverser Suche im www habe ich noch keine Lösung für mein Problem gefunden.
Ich habe auch schon mit einem fiktiven Commandbutton experimentiert auf ich den Focus setze und ihn danach ausblenden, allerdings wird dann der Commanbutton1 wieder markiert.

Vielleicht hat jemand einen Lösungsansatz für mich.
Danke!

Tom

8 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Tom,

benutze eine sehr kleine TextBox.

Option Explicit

Private Sub UserForm_Activate()
TextBox1.Left = -300
TextBox1.SetFocus
End Sub


Gruß Hajo
0 Punkte
Beantwortet von
SETFOCUS AUF DIE FORM GEHT AUCH
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
hast Du das getestet?
Mein Excel sagt das ist falsch.
Du solltest den Befehl sonst schon mittteilen.

Gruß Hajo
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
Hallo BANANAJOE!

Ich pflichte Hajo bei.
Auch bei mir kommt es mit dem Befehl UserForm1.SetFocus zu einer Fehlermeldung.
Vielleicht hast Du einen Tipp für mich, wie ich Deinen Vorschlag umsetzen kann.

Schönes Wochenende!

Tom
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Tom,

ich bin davon ausgegangen das Du eine TextBox erstellen kannst. Da Du ja schon ein UserForm erstellt hast.
Also Werkzeugleiste einblenden., Textfeld auswählen und auf Userform aufziehen. Code kopieren. Name anpassen.

Gruß Hajo
0 Punkte
Beantwortet von
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
Hallo Hajo!

Ja, ich habe bereits eine Textbox erstellt und diese funktioniert auch.
Da liegt wohl ein Missverständnis vor.

Muss mir mal in Ruhe den Link von BANANAJOE ansehen, um keine der vorhandenen Textboxen beim Aufrufen des Userforms zu markieren.

Ciao

Tom
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Tom,

wenn du die UserForm-Eigenschaft ShowModal auf False setzt (so wie es auch für das Funktionieren des Codes aus dem Link erforderlich ist), dann reicht dieser Code:


Private Sub UserForm_Activate()
AppActivate Application.Caption
End Sub


Damit wird das Tabellenblatt wieder zum aktiven Objekt gemacht und der Forkus ist nicht mehr auf dem UserForm. Das bedeutet jedoch auch, dass der Benutzer Veränderungen im Tabellenblatt vornehmen kann.

Bis später,
Karin
...