Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Focus auf Userform setzen
#1
Die UF1 ist auf ScreenMax, also volle Bildfüllung.
Ich mache in einer TextBox der UF1 einen Doppelklick.

Jetzt öffnet sich die UF2 und zeigt mir temporär für 3 Sekunden etwas an.
Diese UF2 ist klein und wird mittig über die UF1 eingeblendet.

Die UF2 schließt wieder nach 3 Sekunden.
Aber die UF1, aus der ich den Doppelklick machte, hat jetzt keinen Focus.

Ich muss, egal wo in dieser UF1, erst einmal klicken, um sie wieder zu reaktivieren.
Erst jetzt, nach dem "Hilfsklick" kann ich wieder aktiv in ihr alles auswählen...

Ein Userform1.SetFocus gibt es nicht.

Wie kann ich nach Schließen der UF2 den Focus automatisch auf die UF1 bringen, ohne diesen "Zwischenklick" machen zu müssen?
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
Antworten Top
#2
Hallo Achim,

erst mal nur ein Ansatz - geht Setfocus auf die Textbox? Wie sieht denn der code Deiner zweiten UF aus? Wenn ich aus einer UF eine zweite öffne und diese manuell wieder beende, hat die erste den Focus.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo Achim,

kann ich so nicht bestätigen. Auch wenn der Mauszeiger nicht angezeigt wird
oder eine Sanduhr oder ähnliches ist, kann man trotzdem normal weiter arbeiten
in der UF1 und nach Enter oder Tab ist auch optisch wieder alles i.O..
Witzig finde ich nur, das Du ein Mausereignis benutzt, aber Dir dann ein Mausklick
zu viel ist, um den Cursor wieder richtig anzuzeigen. Wink

Gruß Uwe
Antworten Top
#4
Hier die Codes der ganzen Aktion

Code:
Private Sub TextBox_TZ_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
UF9_Variable = 2
Call TZ_Show(Me) 'Modul 9
End Sub
Code:
Private Sub UserForm_Activate()
If UF9_Variable = 2 Then
Select Case RS
  Case "O"
   TZ_Wert = Worksheets("Listen").Range("AC18")
  Case "U"
   TZ_Wert = Worksheets("Listen").Range("AC12")
  Case "M"
   TZ_Wert = Worksheets("Listen").Range("AC13")
  Case "S"
   TZ_Wert = Worksheets("Listen").Range("AC14")
  Case Else
   TZ_Wert = Worksheets("Listen").Range("AC18")
End Select
  Label1.Caption = Labels(201) 'Der Preis incl. TZ
  Label2.Caption = Labels(164)
  Application.Wait Now + TimeSerial(0, 0, 3)
  UserForm9.Hide
  
ElseIf UF9_Variable = 1 Then
  Label1.Caption = Labels(108) 'Die Artikelnummer
  Label2.Caption = Labels(169)
  Application.Wait Now + TimeSerial(0, 0, 2)
  UserForm9.Hide
End If
End Sub
Code:
Sub TZ_Show(myUF As UserForm)
If UF9_Variable = 1 Then
  With myUF
   .TextBox46.SelStart = 0
   .TextBox46.SelLength = .TextBox46.TextLength
   .TextBox46.Copy
    UserForm9.TextBox1 = .TextBox46.Value
    UserForm9.Show
  End With
ElseIf UF9_Variable = 2 Then
   UserForm9.TextBox1 = Format(TZ_Wert, "0.00" & " €")
   UserForm9.Show
End If
End Sub
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
Antworten Top
#5
Hallo Achim,

ich kann da erst mal nichts fehlerhaftes sehen. Auch wenn ich in Excel 2013 mein zweites Userform hide, kommt der Focus wieder ins erste. Und auch die Textbox mit dem Doppelklick hat noch den Fokus. Eventuell muss man sich mal die Datei anschauen ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo Achim,

bei mir funktioniert es auch.

Ich an Deiner Stelle würde wie folgt vorgehen:
Eine neue Datei mit zwei Userformen den Textboxen erstellen und testen.
Wenn es in der neuen Datei klappt, dann schauen, was Du in Deiner bisherigen anders
gemacht hast.

Wenn Du nicht weiterkommst, kannst Du eine Kopie Deiner Datei anlegen und darin alle Inhalte
löschen und nur die zwei Userformen belassen und hier einstellen.
Gruß Atilla
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste