Microsoft Excel

Herbers Excel/VBA-Archiv

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

Worksheet_Activate über mehere Workbooks verwenden | Herbers Excel-Forum


Betrifft: Worksheet_Activate über mehere Workbooks verwenden von: Horst
Geschrieben am: 02.12.2009 09:58:01

Hey!

Ich habe eine Vba Anwendung über mehrere Workbooks die ich gleichzeitig in Verwendung habe.
Dabei habe ich ein Workbook, wo die Makros und User Forms usw. implementiert sind. (Also das Stamm-Workbook)
Nun möchte ich das Worksheet_Activate in DieseArbeitsmappe meines Stamm-Workbooks für alle Workbooks gültig machen.
Ich möchte das Worksheet_Activate nur DieseArbeitsmappe in meines Stamm-Workbooks implementieren aber so, dass es auch reagiert wenn ich in einer anderen Arbeitsmappe ein Tabellenblatt aktiviere.

Geht so etwas?
Und wenn a wie?

Viel Grüße
Horst

  

Betrifft: AW: Worksheet_Activate über mehere Workbooks verwenden von: Rudi Maintaire
Geschrieben am: 02.12.2009 10:43:45

Hallo,
mal als Beispiel.
In DieseArbeitsmappe deines Hauptworkbooks:

Option Explicit

Private WithEvents appMyXL As Application

Private Sub Workbook_Open()
    Set appMyXL = Application
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Set appMyXL = Nothing
End Sub

Private Sub appMyXL_WorkbookActivate(ByVal Wb As Workbook)
  MsgBox Wb.Name & "!" & ActiveSheet.Name
End Sub

Private Sub appMyXL_SheetActivate(ByVal Sh As Object)
  MsgBox Sh.Parent.Name & "!" & Sh.Name
End Sub

und workbook_open ausführen.


Gruß
Rudi