Userform öffnen und deakitvieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Userform öffnen und deakitvieren von: Heiko
Geschrieben am: 07.02.2005 13:06:43

Hallo Experten,
ich komme nicht weiter.

Ich habe eine Arbeitsmappe mit 1 Übersichtsblatt und dazu 54 einzelne Tabellen
im Hintergrund. Auf dem Übersichtsblatt befinden sich 3 Bereiche (Links, Mitte und Rechts). Dort werden bestimmte Daten aus 3 nebeneinander liegenden Tabellen angezeigt. Den Zugriff habe ich mit
INDIREKT() flexibel gehalten. Somit kann ich mit Spinnbuttons beliebig hin und her blättern. Ab und zu muss ich auf eines der Tabellenblätter schalten woraus die Daten gerade angezeigt werden. Um die Größe der Datei gering zu halten, blende ich beim Wechsel auf eins der Tabellenblätter immer das selbe Userform ein, um mittels darauf befindlicher Schaltfläche wieder zur Übersicht
zurückkehren zu können.

Nun möchte ich, dass das Userform bei der Anzeige des gewählten Tabellenblattes
gleich inaktiv ist, und ich mir den nervigen Klick, vor dem Bearbeiten bestimmter Zellen, auf das Tabellenblatt sparen kann.

Wie geht das ?

Vielen Dank für Eure Hilfe
Gruß Heiko

Bild


Betrifft: AW: Userform öffnen und deakitvieren von: Ulf
Geschrieben am: 07.02.2005 13:14:01

Das geht mit Bordmitteln nicht, dazu sind folgende API-Funktionen erforderlich:

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

Ulf


Bild


Betrifft: AW: Userform öffnen und deakitvieren von: Heiko
Geschrieben am: 07.02.2005 13:40:41

Hallo Ulf,
Danke erstmal. Da ich mich mit API nicht auskenne, hilft mir Deine Antwort
noch nicht so recht weiter.
Könntest Du den Code noch komplettieren. Ich habe bei mir zum Anzeigen
des Userforms folgenen Code verwendet:
-----------------------------------------------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If Not Sh.Name = "ÜBERSICHT" Then
    UFZurück.Show ' $$$ USERFORM ANZEIGEN $$$
    ActiveSheet.Cells(Range("A5").Value, 15).Select
' $$$ HIER MÜSSTE DEAKTIVIERT WERDEN $$$
  End If
End Sub


Danke
Viele Grüße
Heiko


Bild


Betrifft: AW: Userform öffnen und deakitvieren von: Ulf
Geschrieben am: 07.02.2005 18:36:16

Ich liefere keinen Code mit API, nutz die Recherche.

Ulf


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Userform öffnen und deakitvieren "