पिछले पाठ में हमने पूरी किताब से जुड़ी घटनाओं पर विचार किया था. अब हम एक शीट से संबंधित घटनाओं पर ध्यान केंद्रित करेंगे।
किसी व्यक्तिगत वर्कशीट के लिए ईवेंट-आधारित निर्देशों को निष्पादित करने के लिए, संपादक में वर्कशीट का चयन करें, फिर WorkSheet:
सिलेक्शनचेंज इवेंट डिफ़ॉल्ट रूप से जोड़ा जाएगा। जब भी श्रेणी की सामग्री बदलती है तो यह ईवेंट सक्रिय हो जाता है:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub
उदाहरण के लिए, निम्न कोड एक या अधिक चयनित कक्षों में भरण रंग जोड़ता है और जब वह सीमा बदलती है तो स्वचालित रूप से पहले चयनित सीमा से भरण रंग हटा देता है:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static previous_selection As String If previous_selection <> "" Then 'पिछले चयन से पृष्ठभूमि का रंग हटाना: Range(previous_selection).Interior.ColorIndex = xlColorIndexNone End If 'वर्तमान चयन में पृष्ठभूमि रंग जोड़ना: Target.Interior.Color = RGB(181, 244, 0) 'वर्तमान चयन का पता सहेजा जा रहा है: previous_selection = Target.Address End Sub
यह घटना तब होती है जब कोई वर्कशीट सक्रिय होती है:
Private Sub Worksheet_Activate() End Sub
यह घटना तब होती है जब कोई अन्य वर्कशीट सक्रिय होती है:
Private Sub Worksheet_Deactivate() End Sub
यह घटना तब होती है जब वर्कशीट सेल पर डबल-क्लिक किया जाता है:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub
यह घटना वर्कशीट पर दायाँ माउस क्लिक करने से पहले घटित होती है:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) End Sub
यह घटना तब घटित होती है जब किसी वर्कशीट में डेटा की गणना या पुनर्गणना की जाती है:
Private Sub Worksheet_Calculate() End Sub
यह घटना तब घटित होती है जब दी गई शीट पर कोशिकाओं की सामग्री बदलती है:
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
यह घटना तब होती है जब एक लिंक (हाइपरटेक्स्ट) पर क्लिक किया जाता है:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) End Sub
बिना किसी इवेंट के कोड को निष्पादित करने के लिए, इसे कोड की दो पंक्तियों के बीच इस तरह डालें:
Application.EnableEvents = False '=> घटनाओं को अक्षम करें 'कुछ निर्देश... Application.EnableEvents = True '=> घटनाओं को पुनः सक्षम करें