VBA Aufrufen Public Sub im Arbeitsblatt-Modul: Übersprechen zwischen Blatt-und ThisWorkbook Module

Ich war so froh, dass das funktioniert, dass ich dachte, dass ich es teilen würde...

Es mir erlaubt haben ein generisches event-Handler in der ThisWorkbook - Modul zu initiieren Arbeitsblatt-spezifischen code in eine anonyme ActiveSheet.

Ich die CalByName - Funktion Zugriff auf Benutzer-definierte, Öffentliche Methoden in der Blatt-Objekte.

Verwende ich es neu starten einen timer, der getötet wird, durch automatische wiederherstellen speichert und es funktioniert Super. Ich habe es auf zwei Blatt.

In ThisWorkbook Modul:

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Dim ws As Worksheet
    Set ws = ActiveSheet
    On Error GoTo afterSaveFailed
    CallByName ws, "afterSave", VbMethod
    If debugEvents Then Debug.Print timeStamp & ": " & "AfterSave: afterSave called in sheet: " & ws.Name
    On Error GoTo 0
    Exit Sub
afterSaveFailed:
    If debugEvents Then Debug.Print timeStamp & ": " & "AfterSave: afterSave Failed in sheet: " & ws.Name
    Err.Clear
End Sub

dann im jeweiligen Arbeitsblatt Modul:

Public Sub afterSave()
    'sheet specific after save handler
End Sub
InformationsquelleAutor Cool Blue | 2013-11-17
Schreibe einen Kommentar