Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
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
Inhaltsverzeichnis

Focus zwischen zwei Textboxen in Userform setzen

Focus zwischen zwei Textboxen in Userform setzen
24.10.2016 02:21:36
Martin
Hallo liebe Forumsmitglieder,
ich bastele gerade an einem Makro für eine Einkaufsliste und habe eine Userform in Excel erstellt. Ich möchte dort mit "Tab" oder "Enter" über die KeyDown-Prozedur von der Textbox "Zutat" in die Textbox "Menge" springen (s. Bild) und umgekehrt. Ich habe es bislang mit Me.txtMenge.SetFocus bzw. Me.txtZutat.SetFocus probiert. Wenn ich den Debug-Modus durchlaufe, funktioniert das auch bis zum Erreichen der SetFocus-Anweisung. Allerdings wird mir bspw. der Focus auf "Neue Kategorie" gesetzt, wenn der Debugger die Anweisung "End Sub" erreicht und ich eigentlich von "Zutat" auf "Menge" springen will.
Kann mir jemand sagen, wie man das Problem beheben kann?
Viele Grüße
Martin
Userbild

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Focus zwischen zwei Textboxen in Userform setzen
24.10.2016 06:05:17
Hajo_Zi
Halo Matin,
das können nur sehr wenige. Da nur sehr Deine Datei sehen. Und nur sehr wenige eine Programm haben um aus einem Bild eine Excel Datei mit Code zu erstellen.

AW: Focus zwischen zwei Textboxen in Userform setzen
24.10.2016 18:08:11
Hajo_Zi
Halo Martin,
wenn ich in Zutat die Tab Taste benutze lande ich in Menge.
bei Enter auch.
Ich sehe nicht wo das Problem ist?
Gruß Hajo
Anzeige
AW: Focus zwischen zwei Textboxen in Userform setzen
24.10.2016 19:56:09
Martin
Hallo Hajo,
ich habe gesehen, dass ich im Quellcode vergessen hatte, die Auskommentierung im Private Sub "txtZutat_KeyDown" wieder aufzuheben. Daher kannst du ohne Probleme von Zutat auf Menge springen. Wenn du in Rezept, Zutat und Menge einen Eintrag machst (vorher noch die Kategorie auswählen) und in der Textbox "Menge" Enter drückst, sollen im Normalfall die Textboxen "Zutat" und "Menge" geleert werden und der Focus in "Zutat" gesetzt werden. Das funktioniert bei mir aber leider nicht mehr (ich verwende Office 365 bzw. daher aktuell Excel 2016). Der Focus bleibt/landet dann in der Textbox "Menge" nach Abschluss des Subs. So könnte es bei dir dann auch aussehen, wenn du das Bsp. durchspielst.
Ich habe heute allerdings mal das Makro mit Excel 2010 ausprobiert. Da funktioniert es so, wie ich es auch hochgeladen habe, einwandfrei. Daher bleibt nur noch die Frage offen, warum in Excel 2010 der Focus wie im Quellcode vorgesehen gesetzt wird und in Excel 2016 nicht (Ich bin aber auch der Meinung, dass es in Excel 2016 schon funktioniert hat - ich baue schon länger immer mal wieder an dem Makro).
Viele Grüße
Martin
Anzeige
AW: Focus zwischen zwei Textboxen in Userform setzen
24.10.2016 10:17:57
Werner
Hallo Martin,
kann mir derzeit deine Datei nicht ansehen, aber versuch mal folgendes.
Zunächst den Focus auf ein anderes Feld setzen und dann den Focus auf die TextBox wo du ihn eigentlich haben willst.
Beispiel: Du willst den Focus in txtZutat dann
Me.txtRezeptname.SetFocus
Me.txtZutat.SetFocus
Außerdem solltest du das Exit Event der jeweiligen TextBox verwenden.
Gruß Werner
AW: Focus zwischen zwei Textboxen in Userform setzen
24.10.2016 19:35:12
Martin
Hallo Werner,
ich habe deinen Tipp ausprobiert. Leider funktioniert es so nicht.
Mit dem Exit Event kann ich auch nicht arbeiten, da zum Teil bei Verlassen der Textbox weitere Funktionen im Makro ausgeführt werden und ich den Vorhalt noch haben möchte, dass man bei einer Fehleingabe in einer vorherigen Textbox in diese per Mausklick zurück springen kann ohne Ausführung der Funktion.
Viele Grüße
Martin
Anzeige
Beim Button: TabStop auf False setzen ...
24.10.2016 10:13:55
Matthias
Hallo Martin
Ungetestet.
Setz mal in den Eigenschaften vom Button: Neue Kategorie
TabStop auf False.
Evtl. beim Beenden-Button auch ändern.
Dann probiere es nochmal.
Gruß Matthias
AW: Beim Button: TabStop auf False setzen ...
24.10.2016 19:39:10
Martin
Hallo Matthias,
vielen Dank für deinen Tipp. Manchmal kann es so einfach sein :D Wenn ich alle TabStops auf False setze, habe ich wieder die Möglichkeit mit den gewünschten Tastenbefehlen zu navigieren. Wenn ich die TabStops von nur einzelnen Feldern auf False setze funktioniert es noch nicht. Dann springt mir der Focus in das nächstmögliche Feld mit TabStop "True".
Viele Grüße
Martin
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige