Zdarzenia Skoroszytu (WorkBook)

Activate – skoroszyt został aktywowany

Deactivate – skoroszyt został deaktywowany

BeforeClose – skoroszyt zostanie zamknięty

Open – został otworzony skoroszyt – w ten sposób złośliwe wirusy uruchamiają się automatycznie po otworzeniu pliku!

NewSheet – utworzono nowy Arkusz

BeforeSave – zdarzenie wykona się tuż przed tym, jak użytkownik chce zapisać zmiany w pliku

BeforePrint – zdarzenie wykona się tuż przed tym, jak użytkownik zechce coś wydrukować

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    MsgBox "A papier do drukarki to kto kupi??", vbCritical
    Cancel = True
End Sub

WindowResize – użytkownik zmienił rozmiar okna programu Excel

WindowActivate – okno zostało aktywowane (np. użytkownik przełączył się z Worda na Excela)

WindowDeactivate – okno zostało deaktywowane (np. użytkownik z Excela przełączył się na Worda)

SheetActivate(ByVal Sh As Object)

SheetDeactivate(ByVal Sh As Object)

SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

SheetBeforeRightClick(ByVal Sh As Object, Cancel ByVal Target As Range, Cancel As Boolean)

SheetCalculate(ByVal Sh As Object)

SheetChange(ByVal Sh As Object, ByVal Target As Range)

SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink

SheetSelectionChange(ByVal Sh As Object, ByVal TargetAs Range)

Powyższe procedury są analogiczne do omówionych powyżej procedur dla obiektu Worksheet (arkusza).

Występuje tu dodatkowy argument (Sh), identyfikujący arkusz. Należy używać tych procedur, jeżeli chcemy dodawać lub usuwać arkusze ze skoroszytu.

Zdarzenia w zwykłym module

Opis powyższy należy uzupełnić jeszcze o dwie dość ciekawe procedury, które należy umieścić w dowolnym module.

Auto_Open()

Auto_Close()

Są one dokładnymi odpowiednikami procedur zdarzenowych Workbook_Open() i Workbook_Close(), ale umieszcza się je w zwykłym module, a nie module Workbook

Sub Auto_Open()
    MsgBox "Uruchamiam się zawsze automatycznie gdy zostanie otworzony skoroszyt", vbInformation
End Sub

Sub Auto_Close()
    MsgBox "Do widzenia!", vbInformation
End Sub

Wróć do spisu treści