Thema Datum  Von Nutzer Rating
Antwort
04.05.2021 09:34:15 Steffen
NotSolved
Blau Beim rein Tabben wieder den Focus auf das Tabellenblatt
04.05.2021 13:49:05 Trägheit
NotSolved
04.05.2021 14:01:46 Steffen
NotSolved
04.05.2021 14:22:51 Gast60647
NotSolved
04.05.2021 14:53:31 Steffen
NotSolved
04.05.2021 18:03:48 Gast12205
NotSolved
06.05.2021 11:59:33 Steffen
NotSolved
06.05.2021 14:18:04 Gast26713
NotSolved
04.05.2021 18:39:08 Gast15772
NotSolved
06.05.2021 11:59:49 Steffen
NotSolved

Ansicht des Beitrags:
Von:
Trägheit
Datum:
04.05.2021 13:49:05
Views:
501
Rating: Antwort:
  Ja
Thema:
Beim rein Tabben wieder den Focus auf das Tabellenblatt

Wenn ich dich richtig verstehe, dann zeigst du die UserForm nicht-modal an.

Probier mal so:

' in DieseArbeitsmappe / ThisWorkbook
Option Explicit

Private Declare PtrSafe Function FindWindowEx Lib "user32" _
  Alias "FindWindowExA" ( _
  ByVal hwndParent As LongPtr, _
  ByVal hwndChildAfter As LongPtr, _
  ByVal lpszClass As String, _
  ByVal lpszWindow As String) As LongPtr

Private Declare PtrSafe Function SetForegroundWindow Lib "user32" ( _
  ByVal hWnd As LongPtr) As Long

Private Sub Workbook_Activate()
  
  Dim objUsf As UserForm
  Dim hWnd As LongPtr
  
  Debug.Print
  Debug.Print Time$; " # Workbook_Activate"
  Debug.Print Time$; " - looking for loaded user form"
  
  For Each objUsf In VBA.UserForms
    If TypeName(objUsf) = "UserForm1" Then
      Debug.Print Time$; " - found user form '"; TypeName(objUsf); "'"
      Exit For
    End If
  Next
  
  If objUsf Is Nothing Then
    Debug.Print Time$; " - no relevant user form is currently loaded"
  Else
    Debug.Print Time$; " - getting window handle of user form '"; TypeName(objUsf); "'"
    hWnd = FindWindowEx(0, 0, "ThunderDFrame", objUsf.Caption)
    If hWnd <> 0 Then
      Debug.Print Time$; " - window found (handle: " & hWnd & ")"
      Debug.Print Time$; " - setting user form as foreground window"
      Call SetForegroundWindow(hWnd)
    Else
      Debug.Print Time$; " - window was not found"
    End If
  End If
  
End Sub

Du müsstest den Namen der UserForm im Code anpassen (markierte Zeile 24).

Warum die ForEach Schleife? -> Man kann nicht einfach UserForm1 schreiben, weil das diese automatisch läd.

Eine UserForm kann in mehreren Instanzen geladen werden. Deiner Beschreibung nach ist das aber bei dir nicht der Fall, darum nehme ich direkt die erste ... und nur die erste UserForm1 die gefunden wird.

 

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
04.05.2021 09:34:15 Steffen
NotSolved
Blau Beim rein Tabben wieder den Focus auf das Tabellenblatt
04.05.2021 13:49:05 Trägheit
NotSolved
04.05.2021 14:01:46 Steffen
NotSolved
04.05.2021 14:22:51 Gast60647
NotSolved
04.05.2021 14:53:31 Steffen
NotSolved
04.05.2021 18:03:48 Gast12205
NotSolved
06.05.2021 11:59:33 Steffen
NotSolved
06.05.2021 14:18:04 Gast26713
NotSolved
04.05.2021 18:39:08 Gast15772
NotSolved
06.05.2021 11:59:49 Steffen
NotSolved