მოვლენები Excel-ში

ტერმინი "Excel ღონისძიება» გამოიყენება Excel-ში მომხმარებლის მიერ შესრულებული გარკვეული მოქმედებების მითითებისთვის. მაგალითად, როდესაც მომხმარებელი ცვლის სამუშაო წიგნის ფურცელს, ეს არის მოვლენა. მონაცემთა უჯრედში შეყვანა ან სამუშაო წიგნის შენახვა ასევე Excel-ის მოვლენებია.

მოვლენები შეიძლება დაუკავშირდეს Excel-ის სამუშაო ფურცელს, დიაგრამებს, სამუშაო წიგნს ან უშუალოდ თავად Excel-ის აპლიკაციას. პროგრამისტებს შეუძლიათ შექმნან VBA კოდი, რომელიც ავტომატურად შესრულდება, როდესაც მოხდება მოვლენა.

მაგალითად, მაკრო გაშვებისთვის ყოველ ჯერზე, როცა მომხმარებელი ცვლის სამუშაო ფურცელს Excel-ის სამუშაო წიგნში, თქვენ შექმნით VBA კოდს, რომელიც იმუშავებს ყოველ ჯერზე, როცა მოხდება მოვლენა. SheetActivate სამუშაო წიგნი.

და თუ გსურთ, რომ მაკრო იმუშაოს ყოველ ჯერზე, როცა მიდიხარ კონკრეტულ სამუშაო ფურცელზე (მაგალითად, Sheet1), მაშინ VBA კოდი უნდა იყოს დაკავშირებული მოვლენასთან გააქტიურება ამ ფურცლისთვის.

VBA კოდი, რომელიც განკუთვნილია Excel მოვლენების დასამუშავებლად, უნდა განთავსდეს შესაბამის სამუშაო ფურცელში ან სამუშაო წიგნის ობიექტში VBA რედაქტორის ფანჯარაში (რედაქტორის გახსნა შესაძლებელია დაწკაპუნებით Alt + F11). მაგალითად, კოდი, რომელიც უნდა შესრულდეს ყოველ ჯერზე, როცა რაიმე მოვლენა ხდება სამუშაო ფურცლის დონეზე, უნდა განთავსდეს ამ სამუშაო ფურცლის კოდის ფანჯარაში. ეს ნაჩვენებია ფიგურაში:

Visual Basic-ის რედაქტორში შეგიძლიათ ნახოთ Excel-ის ყველა მოვლენის ნაკრები, რომელიც ხელმისაწვდომია სამუშაო წიგნის, სამუშაო ფურცლის ან დიაგრამის დონეზე. გახსენით კოდის ფანჯარა არჩეული ობიექტისთვის და აირჩიეთ ობიექტის ტიპი მარცხენა ჩამოსაშლელი მენიუდან ფანჯრის ზედა ნაწილში. მარჯვენა ჩამოსაშლელი მენიუ ფანჯრის ზედა ნაწილში აჩვენებს ამ ობიექტისთვის განსაზღვრულ მოვლენებს. ქვემოთ მოყვანილი სურათი გვიჩვენებს Excel-ის სამუშაო ფურცელთან დაკავშირებული მოვლენების სიას:

მოვლენები Excel-ში

დააწკაპუნეთ სასურველ მოვლენაზე მარჯვენა ჩამოსაშლელ მენიუში და პროცედურა ავტომატურად ჩასმული იქნება ამ ობიექტის კოდის ფანჯარაში. Sub. პროცედურის სათავეში Sub Excel ავტომატურად აყენებს საჭირო არგუმენტებს (ასეთის არსებობის შემთხვევაში). რჩება მხოლოდ VBA კოდის დამატება, რათა დადგინდეს, რა მოქმედებები უნდა შეასრულოს პროცედურამ სასურველი მოვლენის აღმოჩენისას.

მაგალითი

შემდეგ მაგალითში, ყოველ ჯერზე უჯრედის არჩევისას B1 სამუშაო ფურცელზე Sheet1 გამოჩნდება შეტყობინების ყუთი.

ამ მოქმედების შესასრულებლად, ჩვენ უნდა გამოვიყენოთ სამუშაო ფურცლის ღონისძიება Selection_Change, რომელიც ხდება ყოველ ჯერზე, როცა იცვლება უჯრედის ან უჯრედების დიაპაზონის შერჩევა. ფუნქცია Selection_Change არგუმენტად იღებს სამიზნე ობიექტი -. ასე ვიცით უჯრედების რომელი დიაპაზონი შეირჩა.

თარიღის Selection_Change ხდება ნებისმიერი ახალი შერჩევით. მაგრამ ჩვენ გვჭირდება მოქმედებების ნაკრები, რომელიც უნდა შესრულდეს მხოლოდ უჯრედის არჩევისას B1. ამისათვის ჩვენ თვალყურს ვადევნებთ მოვლენას მხოლოდ მითითებულ დიაპაზონში სამიზნე. როგორ არის დანერგილი პროგრამის კოდში, რომელიც ნაჩვენებია ქვემოთ:

"მიმდინარე სამუშაო ფურცელზე "კოდი" ასახავს შეტყობინებების ველს, როდესაც არჩეულია უჯრედი B1. პირადი ქვე Worksheet_SelectionChange(ByVal Target As Range) 'შეამოწმეთ არის თუ არა უჯრა B1, თუ Target.Count = 1 და Target.Row = 1 და Target.Column = 2 შემდეგ 'თუ უჯრედი B1 არის არჩეული, მაშინ გააკეთეთ შემდეგი MsgBox "თქვენ გაქვთ აირჩიეთ უჯრედი B1" End If End Sub

დატოვე პასუხი