Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

ShowModal Userform - Aktives Tabellenblatt


Betrifft: ShowModal Userform - Aktives Tabellenblatt von: AnBad
Geschrieben am: 01.10.2019 06:45:42

Hallo Werner,

das klappt mit "ShowModal = False" so weit sehr gut. Eine Frage noch dazu:

Mit "ShowModal = False" kann man trotz Userform weiterhin auf dem Tabellenblatt arbeiten. Durch das Aktualisieren der Userform mittels einer Prozedur wird jedoch die Userform aktiv, d.h. um auf der Exceltablle weiterzuarbeiten muss die Tabelle erst mit der Maus angeklickt werden.
Gibt es ein Befehl, mit dem man via Code die Tabelle wieder auswählen kann oder gar die Aktivierungsauswahl der Userform verhindern kann?

Viele Grüße
Michael

  

Betrifft: AW: ShowModal Userform - Aktives Tabellenblatt von: Pierre
Geschrieben am: 01.10.2019 08:21:59

Hallo Michael,

ohne den Code zu kennen:
Vielleicht hilft es schon, in der "UF-Aktualisierungs-Prozedur" am Anfang einfach erneut "ShowModal = False" zu schreiben?

Gruß Pierre


  

Betrifft: AW: ShowModal Userform - Aktives Tabellenblatt von: Werni
Geschrieben am: 01.10.2019 08:23:26

Hallo Michael

z.B. Bei userform.show

Option Explicit
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Sub BlattAkti()
    SetForegroundWindow (Application.hwnd)
End Sub

Sub UF_zeigen()
UserForm1.Show
    BlattAkti
End Sub

Kann auch einem Klickereignis auf der Userform zugewiesen werden
Gruss Werni


  

Betrifft: AW: ShowModal Userform - Aktives Tabellenblatt von: Luschi
Geschrieben am: 01.10.2019 13:59:36

Hallo Werni,

es gibt einen Unterschied zwischen dem Handle der Application (hier Excel) und der Userform in der Application. Wie man den Handle der Userform ermittelt, siehe hier:
https://colinlegg.wordpress.com/2016/05/06/getting-a-handle-on-userforms-vba/

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: ShowModal Userform - Aktives Tabellenblatt von: Werner
Geschrieben am: 01.10.2019 14:07:57

Hallo,

dann wähle doch einfach am Ende deiner Prozedur mit der du die Userform aktualisierst eine Zelle auf dem Blatt aus, dann hat die Userform nicht mehr den Focus.

'...dein Code zum Aktualisieren der Userform
Worksheets("DeinBlattname").Range("A1").Select
End Sub
Gruß Werner


  

Betrifft: AW: ShowModal Userform - Aktives Tabellenblatt von: AnBad
Geschrieben am: 06.10.2019 16:37:35

Hallo,

nach einigem googeln fand ich diese Lösung:

AppActivate ThisWorkbook.Worksheets("Tabellenblattname").Name
Vielen Dank nochmals und viele Grüße
Michael


  

Betrifft: Danke für die Rückmeldung. o.w.T. von: Werner
Geschrieben am: 07.10.2019 06:29:10




Beiträge aus dem Excel-Forum zum Thema "ShowModal Userform - Aktives Tabellenblatt"