Code aus "DieseArbeitsmappe" auslagern
19.01.2005 15:11:56
Matthias
um Updates für mein (Dienstplanungs-)Programm besser einpflegen zu können, habe ich mir überlegt, den Code im Klassenmodul "DieseArbeitsmappe" in ein normales Modul auszulagern. Es ist ja leichter, "normale" Codemodule auszutauschen, als den Code in "DieseArbeitsmappe". Im Klassenmodul sollen dann nur noch die Prozeduraufrufe mit Parameterübergabe stehen.
Also z.B. stand vorher im Modul DieseArbeitsmappe:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Tabelle1" And Target.Address = "$A$1" Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
daraus soll nur noch dieser Codeschnipsel werden:Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
WB_SheetChange Sh, Target
End Sub
...und in einem normalen Modul dann diese Prozedur:Sub WB_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Tabelle1" And Target.Address = "$A$1" Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Nach ersten Tests scheint das ganze auch zu funktionieren.Nur möchte ich hier nochmal an euch Experten die Frage stellen, ob ihr damit schon Erfahrungen gemacht habt und ob es vielleicht Gründe gibt, den Code nicht auszulagern?
Für Hinweise wäre ich euch dankbar.
Gruß Matthias