Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
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

Userform Fokus

Userform Fokus
Georg
Liebe Excellenzen,
ich habe eine Userform mit diversen Textfeldern und zwei Commandbuttons. Ich rufe die Userform über einen Doppelclick auf eine bestimmte Zelle auf und jetzt möchte ich ein Unterschiedliches Verhalten in der Aktivierreihenfolge erreichen (Abhängig vom Wert in Spalte A der aktiven Zelle). Wenn dort nämlich ein bestimmter Wert eingetragen ist, dann kann ich mir das Ausfüllen der weiteren Felder sparen und würde gerne gleich zum "O.K" Button springen. Leider funktioniert aber das folgende nicht. Die festgelegte Aktivierreihenfolge ist "stärker" und so springt der Fokus komischerweise auf das ÜBERnächste Textfeld, nicht jedoch wie gewünscht auf den Commandbutton. Das hat vermutlich mit dem Zeitpunkt des Eintrittes des Ereignisses "Change" zu tun, aber auch bei Exit ist es so. Was muss ich tun?
Private Sub TextBox3_Change()
Call ZeitenBerechnenUserform1
If Cells(ActiveCell.Row, 1)  "xxx" Then
CommandButton1.SetFocus
End If
End Sub

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

Betreff
Benutzer
Anzeige
AW: Userform Fokus
04.01.2012 11:30:15
Peter
Hallo Georg,
setze nicht den Focus auf den CommanButton sondern verzweige gleich in dessen Click-Ereignis
Private Sub TextBox3_Change()
Call ZeitenBerechnenUserform1
If Cells(ActiveCell.Row, 1)  "xxx" Then Call CommandButton1_Click
End Sub
Gruß Peter
AW: Userform Fokus
04.01.2012 11:42:59
Georg
Hallo Peter,
Danke für den Vorschlag. Das ist mir einen Tick zu schnell. Ich hätte lieber, das ich das Ergebnis im Feld noch sehen kann und erst wenn ich sicher bin dass ich mich nicht verschrieben habe möchte ich die eingegebenen Werte wegspeichern. Daher wäre mir eine Fokuslösung lieber. Hättest Du da auch noch eine Idee?
lg Georg
Anzeige
UserForm_Activate
04.01.2012 11:37:24
Matthias
Hallo
CommandButton2 ist das "Ok-Button"
Private Sub UserForm_Activate()
If Range("A1") = "irgendwas" Then CommandButton2.SetFocus
End Sub
ansonsten ist CommandButton1 in der Reihenfolge das aktive Objekt
Gruß Matthias
AW: UserForm_Activate
04.01.2012 11:47:55
Georg
Hallo Matthias,
ich kann den Fokus nicht direkt auf den Commandbutton setzen. Ich habe 8 Textfelder. Die ersten drei muss mich immer füllen. In Anhängigkeit von der Spalte A kann ich aber in manchen Fällen direkt vom dritten Feld auf den O.K Button springen. (sonst muss ich entweder die Maus in die Hand nehmen oder 5x Return drücken. Wenn ich aber .setFocus erst aus dem Textfeld heraus aufrufe dann funzt es leider nicht mehr.
lgg
Anzeige
UserForm_Activate
04.01.2012 11:57:48
Matthias
Hallo
Zitat:
ich habe eine Userform mit diversen Textfeldern und zwei Commandbuttons. Ich rufe die Userform über einen Doppelclick auf eine bestimmte Zelle auf und jetzt möchte ich ein Unterschiedliches Verhalten in der Aktivierreihenfolge erreichen (Abhängig vom Wert in Spalte A der aktiven Zelle). Wenn dort nämlich ein bestimmter Wert eingetragen ist, dann kann ich mir das Ausfüllen der weiteren Felder sparen und würde gerne gleich zum "O.K" Button springen.
Darauf hatte ich mich in meiner Antwort bezogen!
Gruß Matthias
AW: UserForm_Activate
04.01.2012 12:55:00
Georg
Hallo Matthias,
ja, sorry. Ich habe es nicht präzise genug formuliert im ersten Posting. Daher hab ich die Erklärung nochmals nachgeschoben.
Trotzdem lieben DAnk für den Vorschlag.
Grüssle Georg
Anzeige
AW: UserForm_Activate
04.01.2012 15:15:12
Georg
Liebe Excellenzen,
schreibe noch mal einen Beitrag wo ich die Frage als noch "offen" markiere. Vielleicht hat ja noch jemand eine Idee.
LG G
Perfekt!
05.01.2012 10:31:29
Georg
Hallo Matthias,
ideal - genau so! Wäre ich niemals drauf gekommen!!
Vielen Dank.
Liebe Grüße
Georg

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige