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