Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
696to700
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
696to700
696to700
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fokus-Problem

Fokus-Problem
15.11.2005 17:23:42
Born
Hallo Forum,
ich lasse im Makro ein nichtmodales Formular erscheinen. Wie kann ich das dahinterliegende Tabellenblatt wieder aktivieren (also den Fokus übergeben), ohne das Formular zu schließen?
Vielen Dank im Voraus.
Gruß,
M. Born

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
UserForm1.Show vbModeless
15.11.2005 17:35:05
Holger
Hallo M. Born
mit vbModeless kannst Du zwischen Tabellenblatt und Userform hin und her wechseln.
Gruss Holger
AW: UserForm1.Show vbModeless
15.11.2005 17:39:12
Born
Hallo Holger,
danke für die Antwort. Ich habe das Formular mit vbModeless gestartet. Allerdings bekommt dann das Formular den Fokus und ich kann nicht eher wieder auf die Zellen zugreifen, wenn ich nicht manuell per Klick auf eine Zelle das Formular auf inaktiv setze. Irgendeine Idee, wie man das per Makro erledigen kann?
Gruß
M.Born
AW: UserForm1.Show vbModeless
15.11.2005 17:46:13
K.Rola
Hallo,
ins Modul des userforms:
Option Explicit
Private Declare Function SetActiveWindow Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub UserForm_Activate()
SetActiveWindow FindWindow("xlMain", vbNullString)
End Sub

Gruß K.Rola
Anzeige
AW: UserForm1.Show vbModeless
15.11.2005 17:53:49
Born
Hallo,
ich habe mir schon gedacht, dass es nur über APIs gehen dürfte. Allerdings funktioniert es bei mir nicht. Vielleicht liegt es daran, dass im Userform_Activate das Fenster erst den Fokus bekomm? Oder muß ich vielleicht statt xlMain einen anderen (weil dynamischen)Wert einsetzen?
Gruß
M.Born
AW: UserForm1.Show vbModeless
15.11.2005 18:02:53
K.Rola
Hallo,
keine Ahnung, warum es bei dir nicht geht, bei mir funktioniert es.
Gruß K.Rola
AW: UserForm1.Show vbModeless
15.11.2005 18:12:29
Born
Kann es vielleicht daran liegen, dass die Userform ohne Caption ist? Ich habe das über ein API-Skript hier aus dem Forum realisiert.
Gruß
M.Born
AW: UserForm1.Show vbModeless
15.11.2005 18:15:55
K.Rola
Hallo,
das kannst du leicht herausfinden, indem du den anderen Code mal auskommentierst.
Gruß K.Rola
Anzeige
AW: UserForm1.Show vbModeless
15.11.2005 18:24:19
Born
Hallo,
ich werde beides (auch Herberts Datei) mal probieren, muss aber für heute abbrechen. Ich melde mich morgen mal, ob es klappt. Schon mal besten Dank bisher.
Gruß
M.Born
AW: UserForm1.Show vbModeless
15.11.2005 17:47:50
Herbert
hallo Born,
den Focus kannst du so in Tabelle übergeben...


'in ein Standardmodul
Private Declare Function SetActiveWindow Lib "user32.dll" (ByVal hwnd As LongAs Long
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Public Sub fokus()
    SetActiveWindow FindWindow("xlMain", vbNullString)
End Sub
'in die Userform
Private Sub UserForm_Activate()
fokus
End Sub

     gruß Herbert
Anzeige
AW: UserForm1.Show vbModeless
15.11.2005 17:59:27
Born
Hallo Herbert,
auch Deine Lösung funktioniert nicht. Was mache ich falsch?
Gruß
M.Born
AW: UserForm1.Show vbModeless
16.11.2005 08:50:42
Born
Guten Morgen,
nach einer Weile Testen habe ich den Fehler endlich nachvollziehen können. Ich hatte das Formular über das Selection_Change geöffnet. In einer weiteren Funktion, die später ereignisgesteuert aufgerufen wurde, stand nochmals ein Userform.show drin, welches das Formular erneut öffnete und ihm den Fokus zuwies. Nachdem ich dort abfrage, ob das Formular bereits geöffnet ist oder nicht und nur bei Bedarf das Formular erneut öffne, funktioniert das Ganze endlich.
Vielen Dank für Eure Mithilfe.
Gruß
M.Born
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige