हमारे पास कार्यपुस्तिका ईवेंट (जैसे खोलना, बंद करना आदि) हो सकते हैं जो VBA कोड के लिए ट्रिगर (स्विच) हो सकते हैं।
कार्यपुस्तिका खुलने पर निर्देशों का पालन करने के लिए, ThisWorkbook पर जाएँ और Workbook चुनें:
Workbook_Open ईवेंट डिफ़ॉल्ट रूप से जोड़ा जाएगा और कार्यपुस्तिका खोले जाने पर सक्रिय हो जाएगा:
Private Sub Workbook_Open() End Sub
उदाहरण के लिए, यदि हम निम्नलिखित निर्देश जोड़ते हैं, तो कार्यपुस्तिका खुलने पर संवाद बॉक्स प्रदर्शित होगा:
Private Sub Workbook_Open() MsgBox "Welcome" End Sub
कार्यपुस्तिका बंद करने से पहले निर्देशों को निष्पादित करने के लिए, beforeClose चुनें:
Private Sub Workbook_BeforeClose(Cancel As Boolean) End Sub
कार्यपुस्तिका को बंद करने को वेरिएबल "Cancel" को True पर सेट करके रद्द किया जा सकता है।
नीचे एक उदाहरण दिया गया है जिसमें उपयोगकर्ता से कार्यपुस्तिका बंद करने की पुष्टि मांगी जाती है:
Private Sub Workbook_BeforeClose(Cancel As Boolean) 'यदि उपयोगकर्ता NO के साथ प्रतिक्रिया करता है, तो वेरिएबल Cancel का मान TRUE होगा (जो कार्यपुस्तिका को बंद करना रद्द कर देगा) If MsgBox("Do you really want to close this workbook ?", 36, "I confirm") = vbNo Then Cancel = True End If End Sub
यह घटना कार्यपुस्तिका सहेजे जाने से ठीक पहले घटित होती है:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) End Sub
किसी फ़ाइल को सहेजना वेरिएबल "Cancel" को True पर सेट करके रद्द किया जा सकता है।
यह घटना कार्यपुस्तिका मुद्रित होने से पहले होती है:
Private Sub Workbook_BeforePrint(Cancel As Boolean) End Sub
वेरिएबल "Cancel" को True पर सेट करके फ़ाइल की प्रिंटिंग रद्द की जा सकती है।
यह घटना कार्यपुस्तिका सहेजने के तुरंत बाद घटित होती है:
Private Sub Workbook_AfterSave(ByVal Success As Boolean) End Sub
यह घटना तब घटित होती है जब आप किसी कार्यपुस्तिका में कार्यपत्रकों के बीच स्विच करते हैं:
Private Sub Workbook_SheetActivate(ByVal Sh As Object) End Sub
इस उदाहरण में, सक्रिय शीट का नाम संवाद बॉक्स में प्रदर्शित होता है:
Private Sub Workbook_SheetActivate(ByVal Sh As Object) MsgBox "Name of Sheet : " & Sh.Name End Sub
यह घटना तब होती है जब वर्कशीट सेल पर डबल-क्लिक किया जाता है:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) End Sub
उदाहरण के लिए, हम चयनित शीट के आधार पर सेल भरण रंग जोड़ने के लिए इस ईवेंट का उपयोग कर सकते हैं:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) If Sh.Name = "Sheet1" Then Target.Interior.Color = RGB(255, 108, 0) 'नारंगी रंग Else Target.Interior.Color = RGB(136, 255, 0) 'हरा रंग End If End Sub
यह घटना दाएँ माउस के क्लिक करने से पहले ही घटित होती है:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) End Sub
यह घटना तब घटित होती है जब कार्यपत्रक की सामग्री बदलती है:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) End Sub
यह घटना तब घटित होती है जब किसी वर्कशीट में डेटा की गणना या पुनर्गणना की जाती है:
Private Sub Workbook_SheetCalculate(ByVal Sh As Object) End Sub
यह घटना तब घटित होती है जब स्प्रेडशीट में कक्षों की चयनित श्रेणी की सामग्री बदलती है:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) End Sub
इस उदाहरण में, यदि सेल A1 खाली है तो भरण रंग बदल जाता है:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Range("A1") = "" Then Target.Interior.Color = RGB(124, 255, 255) 'नीला रंग End If End Sub
यह घटना तब घटित होती है जब कार्यपुस्तिका में कोई नई शीट जोड़ी जाती है:
Private Sub Workbook_NewSheet(ByVal Sh As Object) End Sub
यह घटना तब होती है जब एक लिंक (हाइपरटेक्स्ट) पर क्लिक किया जाता है:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) End Sub