AW: Makro in "Diese Arbeitsmappe" in andere versch
08.03.2005 13:38:31
Matthias
Hallo R.Schmitt,
ich habe das so gelöst: In "DiesArbeitsmappe habe ich nur Prozeduraufrufe:
Private Sub Workbook_Activate()
WB_Activate
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
WB_BeforeClose Cancel
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
WB_BeforePrint Cancel
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
WB_BeforeSave SaveAsUI, Cancel
End Sub
Private Sub Workbook_Deactivate()
WB_Deactivate
End Sub
Private Sub Workbook_Open()
WB_Open
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
WB_SheetActivate Sh
End Sub
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
WB_SheetBeforeDoubleClick Sh, Target, Cancel
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
WB_SheetBeforeRightClick Sh, Target, Cancel
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
WB_SheetChange Sh, Target
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
WB_SheetSelectionChange Sh, Target
End Sub
und in einem "normalen" Modul habe ich dann den eigentlichen Code mit den o.a. Prozedurnamen stehen.
z.B.
Sub WB_BeforeClose(Cancel As Boolean)
If SofortBeenden Then Exit Sub
DoEvents
If Not HatRecht("öffnen") Then Exit Sub
PlanSchliessen Cancel
End Sub
(ist nur ein spezielles Beispiel)
Der Code kann aus "DieseArbeitsmappe" 1:1 übernommen werden.
Ich hab' das so gemacht, weil ein normales Modul leichter auszutauschen ist als ein Klassenmodul.
Gruß Matthias