אירועים באקסל

המונח "אירוע אקסל» משמש לציון פעולות מסוימות שבוצע על ידי המשתמש באקסל. לדוגמה, כאשר משתמש מחליף גיליון חוברת עבודה, זהו אירוע. הזנת נתונים לתא או שמירת חוברת עבודה הם גם אירועי Excel.

ניתן לקשר אירועים לגליון עבודה של Excel, לתרשימים, לחוברת עבודה או ישירות ליישום Excel עצמו. מתכנתים יכולים ליצור קוד VBA שיבוצע באופן אוטומטי כאשר מתרחש אירוע.

לדוגמה, כדי להפעיל מאקרו בכל פעם שהמשתמש מחליף גליון עבודה בחוברת עבודה של Excel, תיצור קוד VBA שיפעל בכל פעם שהאירוע מתרחש SheetActivate חוברת עבודה.

ואם אתה רוצה שהמאקרו יפעל בכל פעם שאתה עובר לגליון עבודה מסוים (לדוגמה, Sheet1), אז יש לשייך את קוד ה-VBA לאירוע הפעל עבור גיליון זה.

יש למקם את קוד VBA המיועד לטיפול באירועי Excel באובייקט גליון העבודה או חוברת העבודה המתאים בחלון עורך VBA (ניתן לפתוח את העורך על ידי לחיצה Alt + F11). לדוגמה, קוד שיש להפעיל בכל פעם שאירוע מסוים מתרחש ברמת גליון העבודה צריך להיות ממוקם בחלון הקוד של אותו גליון עבודה. זה מוצג באיור:

בעורך Visual Basic, תוכל להציג את קבוצת כל אירועי Excel הזמינים ברמת חוברת העבודה, גליון העבודה או התרשים. פתח את חלון הקוד של האובייקט שנבחר ובחר את סוג האובייקט מהתפריט הנפתח השמאלי בראש החלון. התפריט הנפתח הימני בחלק העליון של החלון יציג את האירועים שהוגדרו עבור אובייקט זה. האיור שלהלן מציג רשימה של אירועים הקשורים לגליון עבודה של Excel:

אירועים באקסל

לחץ על האירוע הרצוי בתפריט הנפתח הימני, ונוהל יוכנס אוטומטית לחלון הקוד של אובייקט זה תַת. בראש ההליך תַת Excel מוסיף אוטומטית את הארגומנטים הנדרשים (אם קיימים). כל מה שנותר הוא להוסיף את קוד ה-VBA כדי לקבוע אילו פעולות על ההליך לבצע כאשר האירוע הרצוי מזוהה.

דוגמה

בדוגמה הבאה, בכל פעם שתא נבחר B1 בדף העבודה Sheet1 מופיעה תיבת הודעה.

כדי לבצע פעולה זו, עלינו להשתמש באירוע גליון העבודה Selection_Change, המתרחש בכל פעם שהבחירה של תא או טווח תאים משתנה. פוּנקצִיָה Selection_Change מקבל כטיעון יעד אובייקט -. כך אנו יודעים איזה טווח של תאים נבחר.

אירוע Selection_Change מתרחש עם כל בחירה חדשה. אבל אנחנו צריכים שמערכת הפעולות תתבצע רק כאשר התא נבחר B1. לשם כך, נעקוב אחר האירוע רק בטווח שצוין יעד. כיצד הוא מיושם בקוד התוכנית המוצג להלן:

'קוד להצגת תיבת הודעה כאשר תא B1 נבחר' בגליון העבודה הנוכחי. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'בדוק אם תא B1 נבחר אם Target.Count = 1 ו-Target.Row = 1 ו-Target.Column = 2 ואז 'אם תא B1 נבחר, אז בצע את ה-MsgBox הבא נבחר תא B1" End If End Sub

השאירו תגובה