Informationen und Beispiele zum Thema Userform | |
---|---|
![]() |
Userform-Seite mit Beispielarbeitsmappe aufrufen |
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
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 SubGruß 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").NameVielen Dank nochmals und viele Grüße
Betrifft: Danke für die Rückmeldung. o.w.T.
von: Werner
Geschrieben am: 07.10.2019 06:29:10