אירועי Excel VBA - מדריך קל (ומלא)

בעת יצירה או הקלטה של ​​מאקרו ב- Excel, עליך להפעיל את המאקרו כדי לבצע את השלבים בקוד.

כמה דרכים להפעלת מאקרו כוללות שימוש בתיבת הדו -שיח מאקרו, הקצאת המאקרו ללחצן, שימוש בקיצור דרך וכו '.

מלבד הוצאות מאקרו אלה שיוזמו על ידי משתמש, תוכל גם להשתמש באירועי VBA להפעלת המאקרו.

אירועי Excel VBA - מבוא

תן לי להסביר תחילה מהו אירוע ב- VBA.

אירוע הוא פעולה שיכולה להפעיל את ביצוע המאקרו שצוין.

לדוגמה, כאשר אתה פותח חוברת עבודה חדשה, זהו אירוע. כאשר אתה מוסיף דף עבודה חדש, זהו אירוע. כאשר אתה לוחץ פעמיים על תא, זהו אירוע.

ישנם אירועים רבים כאלה ב- VBA, ותוכל ליצור קודים לאירועים אלה. המשמעות היא שברגע שאירוע מתרחש, ואם ציינת קוד לאירוע זה, קוד זה יבוצע מיידית.

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

לדוגמה, אם אתה מוסיף דף עבודה חדש ורוצה שיהיה לו קידומת לשנה, תוכל לכתוב את הקוד עבורו.

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

דוגמה נוספת יכולה להיות שאתה רוצה לשנות את צבע התא כאשר מישהו לוחץ עליו פעמיים. אתה יכול להשתמש באירוע לחיצה כפולה לשם כך.

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

להלן תמונה חזותית קצרה המציגה את אירוע הלחיצה הכפולה בפעולה. ברגע שאני לוחץ פעמיים על תא A1. Excel פותח תיבת הודעות באופן מיידי המציג את כתובת התא.

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

למרות שהדוגמה לעיל היא אירוע חסר תועלת, אני מקווה שהיא תעזור לך להבין מה הם אירועים באמת.

סוגים שונים של אירועי Excel VBA

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

לכל אחד מהאובייקטים הללו יכולים להיות קשורים אירועים שונים. לדוגמה:

  • אם אתה יוצר חוברת עבודה חדשה, זהו אירוע ברמת היישום.
  • אם אתה מוסיף דף עבודה חדש, זהו אירוע ברמת חוברת עבודה.
  • אם תשנה את הערך בתא בגיליון, זהו אירוע ברמת דף עבודה.

להלן סוגי האירועים השונים הקיימים ב- Excel:

  1. אירועים ברמת גליון עבודה: אלה הם סוגי האירועים שיפעילו בהתבסס על הפעולות שבוצעו בגליון העבודה. דוגמאות לאירועים אלה כוללות שינוי תא בגליון העבודה, שינוי הבחירה, לחיצה כפולה על תא, לחיצה ימנית על תא וכו '.
  2. אירועים ברמת חוברת עבודה: אירועים אלה יופעלו על סמך הפעולות ברמת חוברת העבודה. דוגמאות לאירועים אלה כוללות הוספת דף עבודה חדש, שמירת חוברת העבודה, פתיחת חוברת העבודה, הדפסת חלק או חוברת העבודה כולה וכו '.
  3. אירועים ברמת היישום: אלה האירועים המתרחשים ביישום Excel. דוגמה לכך תכלול סגירת כל אחד מחוברות העבודה הפתוחות או פתיחת חוברת עבודה חדשה.
  4. אירועים ברמת UserForm: אירועים אלה יופעלו על סמך הפעולות ב'UserForm '. דוגמאות אלה כוללות אתחול UserForm או לחיצה על כפתור ב- UserForm.
  5. אירועי תרשים: אלה אירועים הקשורים לדף התרשים. דף תרשים שונה מגליון עבודה (שם רובנו רגילים לעבוד ב- Excel). מטרת גיליונות תרשים היא להחזיק תרשים. דוגמאות לאירועים כאלה יכללו שינוי סדרת התרשים או שינוי גודל התרשים.
  6. אירועי OnTime ו- OnKey: אלה שני אירועים שאינם מתאימים לאף אחת מהקטגוריות שלעיל. אז רשמתי את אלה בנפרד. אירוע 'OnTime' מאפשר לך לבצע קוד בזמן מסוים או לאחר שחלף זמן מסוים. אירוע 'OnKey' מאפשר לך לבצע קוד בעת שימוש בהקשה מסוימת (או שילוב של הקשות).

היכן לשים את הקוד הקשור לאירוע

בחלק לעיל, סקרתי את סוגי האירועים השונים.

בהתבסס על סוג האירוע, עליך להכניס את הקוד לאובייקט הרלוונטי.

לדוגמה, אם מדובר באירוע הקשור לגליון עבודה, הוא אמור להיכנס לחלון הקוד של אובייקט גליון העבודה. אם זה קשור לחוברת עבודה, זה אמור להיכנס לחלון הקוד של אובייקט חוברת עבודה.

ב- VBA, לאובייקטים שונים - כגון דפי עבודה, חוברות עבודה, דפי תרשים, UserForms וכו ', יש חלונות קוד משלהם. עליך להכניס את קוד האירוע לחלון הקוד של האובייקט הרלוונטי. לדוגמה - אם מדובר באירוע ברמת חוברת עבודה, עליך לקבל את קוד האירוע בחלון קוד חוברת העבודה.

החלקים הבאים מכסים את המקומות שבהם ניתן לשים את קוד האירוע:

בחלון קוד גליון עבודה

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

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

למרות שאתה יכול להתחיל לכתוב את הקוד מאפס, עדיף לבחור את האירוע מתוך רשימת אפשרויות ולתת ל- VBA להכניס אוטומטית את הקוד הרלוונטי לאירוע שנבחר.

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

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

ברגע שתבחר את האירוע, הוא יזין אוטומטית את השורה הראשונה והאחרונה של הקוד לאירוע שנבחר. כעת תוכל להוסיף את הקוד שלך בין שתי השורות.

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

שים לב שלכל גליון עבודה יש ​​חלון קוד משלו. כאשר אתה שם את הקוד עבור גיליון 1, הוא יפעל רק אם האירוע יקרה בגיליון 1.

בחלון קוד חוברת עבודה זה

בדיוק כמו גליונות עבודה, אם יש לך קוד אירוע ברמת חוברת עבודה, תוכל למקם אותו בחלון הקוד של ThisWorkbook.

כאשר אתה לוחץ פעמיים על ThisWorkbook, הוא יפתח את חלון הקוד עבורו.

עליך לבחור חוברת עבודה מהתפריט הנפתח בפינה השמאלית העליונה של חלון הקוד.

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

ברגע שתבחר את האירוע, הוא יזין אוטומטית את השורה הראשונה והאחרונה של הקוד לאירוע שנבחר. כעת תוכל להוסיף את הקוד שלך בין שתי השורות.

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

בחלון קוד משתמש משתמש

בעת יצירת UserForms ב- Excel, תוכל גם להשתמש באירועי UserForm לביצוע קודים המבוססים על פעולות ספציפיות. לדוגמה, תוכל לציין קוד שיופעל בעת לחיצה על הלחצן.

בעוד אובייקטים של גיליון ואובייקטים של ThisWorkbook כבר זמינים בעת פתיחת עורך VB, UserForm הוא דבר שעליך ליצור תחילה.

כדי ליצור UserForm, לחץ באמצעות לחצן העכבר הימני על כל אחד מהאובייקטים, עבור אל Insert ולחץ על UserForm.

זה יכניס אובייקט UserForm לחוברת העבודה.

כאשר תלחץ לחיצה כפולה על UserForm (או על כל אחד מהאובייקטים שאתה מוסיף ל- UserForm), הוא יפתח את חלון הקוד עבור UserForm.

עכשיו בדיוק כמו גליונות עבודה או ThisWorkbook, אתה יכול לבחור את האירוע והוא יכניס את השורה הראשונה והאחרונה לאירוע זה. ואז אתה יכול להוסיף את הקוד באמצע שלו.

בחלון קוד תרשים

ב- Excel, תוכל גם להכניס גיליונות תרשים (השונים מגליונות עבודה). גיליון תרשים נועד להכיל תרשימים בלבד.

לאחר שהוספת גיליון תרשים, תוכל לראות את אובייקט גיליון התרשים בעורך VB.

אתה יכול להוסיף את קוד האירוע לחלון קוד גיליון התרשים בדיוק כמו שעשינו בגליון העבודה.

לחץ פעמיים על אובייקט גיליון התרשים ב- Explorer Explorer. פעולה זו תפתח את חלון הקוד עבור גיליון התרשים.

כעת עליך לבחור תרשים מהתפריט הנפתח בפינה השמאלית העליונה של חלון הקוד.

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

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

מודול בכיתה

יש להכניס מודולי כיתה בדיוק כמו UserForms.

מודול כיתה יכול להכיל קוד הקשור ליישום - שיהיה Excel עצמו והתרשימים המוטבעים.

אעסוק במודול הכיתה כהדרכה נפרדת בשבועות הקרובים.

שים לב שמלבד אירועי OnTime ו- OnKey, לא ניתן לאחסן אף אחד מהאירועים לעיל במודול ה- VBA הרגיל.

הבנת רצף האירוע

כאשר אתה מפעיל אירוע, זה לא קורה במנותק. זה עשוי גם להוביל לרצף של מספר טריגרים.

לדוגמה, כאשר אתה מוסיף דף עבודה חדש, הדברים הבאים קורים:

  1. נוסף דף עבודה חדש
  2. גליון העבודה הקודם מושבת
  3. דף העבודה החדש מופעל

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

הבנת תפקיד הוויכוחים באירועי VBA

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

באירועי VBA יהיו שני סוגי קודים:

  • בלי שום טיעונים
  • עם טיעונים

ובסעיף זה, אני רוצה לכסות במהירות את תפקיד הטיעונים.

להלן קוד שאין בו שום טיעון (הסוגריים ריקים):

Sub Workbook_Open () MsgBox "זכור למלא את לוח הזמנים" סיום תת

עם הקוד לעיל, כאשר אתה פותח חוברת עבודה, הוא פשוט מציג תיבת הודעות עם ההודעה - "זכור למלא את לוח הזמנים".

עכשיו בואו נסתכל על קוד שיש בו טיעון.

Sub Workbook_NewSheet פרטי (ByVal Sh כאובייקט) Sh.Range ("A1") = Sh.Name End Sub

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

על ידי הקצאת הגיליון החדש המתווסף לחוברת העבודה למשתנה האובייקטים Sh, VBA אפשרה לנו להשתמש בו בקוד. אז כדי להתייחס לשם הגיליון החדש, אני יכול להשתמש ב- Sh.Name.

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

אירועים ברמת חוברת עבודה (מוסברים עם דוגמאות)

להלן האירועים הנפוצים ביותר בחוברת עבודה.

שם אירוע מה מניע את האירוע
לְהַפְעִיל כאשר חוברת עבודה מופעלת
AfterSave כאשר חוברת עבודה מותקנת כתוסף
לפני שמור כאשר חוברת עבודה נשמרת
לפני סגור כאשר חוברת עבודה סגורה
לפני הדפסה כאשר מודפסת חוברת עבודה
בטל כאשר חוברת עבודה מושבתת
NewSheet כאשר מתווסף גיליון חדש
לִפְתוֹחַ כאשר חוברת עבודה נפתחת
גיליון הפעל כאשר כל גיליון בחוברת העבודה מופעל
SheetBeforeDelete כאשר כל גיליון נמחק
SheetBeforeDoubleClick כאשר לחיצה כפולה על כל גיליון
SheetBeforeRightClick כאשר כל גליון נלחץ באמצעות לחצן העכבר הימני
גיליון חישוב כאשר כל גיליון מחושב או מחושב מחדש
גיליון בטל כאשר חוברת עבודה מושבתת
עדכון SheetPivotTableUpdate כאשר חוברת עבודה מתעדכנת
SheetSelectionChange כאשר חוברת עבודה משתנה
חלון הפעל כאשר חוברת עבודה מופעלת
חלון השבת כאשר חוברת עבודה מושבתת

שים לב שזו אינה רשימה מלאה. את הרשימה המלאה תוכל למצוא כאן.

זכור כי הקוד לאירוע חוברת עבודה מאוחסן בחלון קוד אובייקטים של ThisWorkbook.

כעת נסתכל על כמה אירועים שימושיים בחוברת העבודה ונראה כיצד ניתן להשתמש בהם בעבודתך השוטפת.

אירוע פתוח של חוברת עבודה

נניח שאתה רוצה להראות למשתמש תזכורת ידידותית למלא את גליונות הזמנים שלו בכל פעם שהוא פותח חוברת עבודה ספציפית.

אתה יכול להשתמש בקוד שלהלן כדי לעשות זאת:

Sub Workbook_Open () MsgBox "זכור למלא את לוח הזמנים" סיום תת

כעת ברגע שתפתח את חוברת העבודה עם הקוד הזה, הוא יראה לך תיבת הודעות עם ההודעה שצוין.

יש כמה דברים שכדאי לדעת בעת עבודה עם קוד זה (או קודי אירועי חוברות עבודה באופן כללי):

  • אם חוברת עבודה כוללת מאקרו ואתה רוצה לשמור אותה, עליך לשמור אותה בפורמט .XLSM. אחרת קוד המאקרו יאבד.
  • בדוגמה שלעיל קוד האירוע יבוצע רק כאשר הפקודות המאקרו מופעלות. ייתכן שתראה סרגל צהוב המבקש אישור להפעלת פקודות מאקרו. עד שהדבר מופעל, קוד האירוע אינו מבוצע.
  • קוד אירוע חוברת העבודה ממוקם בחלון הקוד של אובייקט ThisWorkbook.

תוכל לחדד את הקוד הזה ולהציג את ההודעה רק ביום שישי.

הקוד שלהלן יעשה זאת:

Sub Workbook_Open () wkday = יום חול (תאריך) אם wkday = 6 ואז מס 'תיבת' זכור למלא את לוח הזמנים 'סיום תת

שים לב שבפונקציה של יום חול, יום ראשון מוקצה לערך 1, יום שני הוא 2 וכן הלאה.

מכאן שיום שישי השתמשתי ב -6.

אירוע פתוח של חוברת עבודה יכול להיות שימושי במצבים רבים, כגון:

  • כאשר ברצונך להציג הודעת קבלת פנים לאדם בעת פתיחת חוברת עבודה.
  • כאשר ברצונך להציג תזכורת בעת פתיחת חוברת העבודה.
  • כאשר אתה רוצה תמיד להפעיל גליון עבודה אחד ספציפי בחוברת העבודה כאשר הוא נפתח.
  • כאשר ברצונך לפתוח קבצים קשורים יחד עם חוברת העבודה.
  • כאשר ברצונך לצלם את חותמת התאריך והשעה בכל פעם שחוברת העבודה נפתחת.

חוברת עבודה אירוע גיליון חדש

אירוע NewSheet מופעל בעת הוספת גיליון חדש בחוברת העבודה.

נניח שאתה רוצה להזין את ערך התאריך והשעה בתא A1 של הגיליון החדש שהוכנס. אתה יכול להשתמש בקוד שלהלן כדי לעשות זאת:

תת פרטי Workbook_NewSheet (ByVal Sh כאובייקט) על חידוש השגיאה הבא Sh.Range ("A1") = פורמט (עכשיו, "dd-mmm-yyyy hh: mm: ss") סוף משנה

הקוד לעיל משתמש ב- 'On Error Resume Next' כדי לטפל במקרים בהם מישהו מוסיף דף תרשים ולא דף עבודה. מכיוון שגיליון התרשים אינו כולל תא A1, הוא יראה שגיאה אם ​​לא נעשה שימוש ב- 'On Error Resume Next'.

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

Sub Workbook_NewSheet פרטי (ByVal Sh כאובייקט) על חידוש השגיאה הבא עם Sh.Range ("A1") .Value = "S. No." .Interior.Color = vbBlue .Font.Color = vbWhite End With For i = 1 to 100 Sh.Range ("A1"). קיזוז (i, 0). Value = i Next i Sh.Range ("A1", טווח ("A1"). סוף (xlDown)). Borders.LineStyle = xlContinuous End Sub

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

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

חוברת עבודה לפני שמירת אירוע

לפני שמירת אירוע מופעלת כאשר אתה שומר חוברת עבודה. שים לב שהאירוע מופעל תחילה ולאחר מכן חוברת העבודה נשמרת.

בעת שמירת חוברת עבודה של Excel, יכולים להיות שני תרחישים אפשריים:

  1. אתה שומר אותו בפעם הראשונה והוא יציג את תיבת הדו -שיח שמירה בשם.
  2. כבר שמרת אותו קודם וזה פשוט ישמור ויחליף את השינויים בגרסה שכבר נשמרה.

עכשיו בואו נסתכל על כמה דוגמאות שבהן תוכלו להשתמש באירוע BeforeSave.

נניח שיש לך חוברת עבודה חדשה שאתה שומר בפעם הראשונה, וברצונך להזכיר למשתמש לשמור אותו בכונן K, תוכל להשתמש בקוד שלהלן:

Sub Workbook_BeforeSave (ByVal SaveAsUI כבולאני, בטל כבולאני) אם SaveAsUI ואז MsgBox "שמור קובץ זה בכונן K" סיום תת

בקוד לעיל, אם הקובץ מעולם לא נשמר, SaveAsUI הוא True ומעלה את תיבת הדו -שיח Save As. הקוד לעיל יציג את ההודעה לפני שתופיע תיבת הדו -שיח שמירה בשם.

דוגמה נוספת יכולה להיות עדכון התאריך והשעה שבהם הקובץ נשמר בתא ספציפי.

הקוד שלהלן יכניס את חותמת התאריך והשעה בתא A1 של גיליון 1 בכל פעם שהקובץ נשמר.

Sub Workbook_BeforeSave (ByVal SaveAsUI כבולאני, בטל כבולאני) גליונות עבודה ("גיליון 1"). טווח ("A1") = פורמט (עכשיו, "dd-mmm-yyyy hh: mm: ss") סיום תת

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

חוברת עבודה לפני אירוע סגור

אירוע לפני סגירה קורה ממש לפני סגירת חוברת העבודה.

הקוד שלהלן מגן על כל גליונות העבודה לפני סגירת חוברת העבודה.

תת פרטי חוברת עבודה_לפני סגור (בטל כבולאני) Dim sh כגיליון עבודה עבור כל sh ב- ThisWorkbook.Worksheets sh.Protect הבא sh End Sub

זכור שקוד האירוע מופעל ברגע שאתה סוגר את חוברת העבודה.

דבר אחד חשוב לדעת על אירוע זה הוא שלא משנה אם חוברת העבודה אכן סגורה או לא.

במקרה שחוברת העבודה לא נשמרה ותוצג לך ההנחיה השואלת אם לשמור את חוברת העבודה או לא, ולחץ על ביטול, היא לא תשמור את חוברת העבודה שלך.עם זאת, קוד האירוע כבר היה מבוצע עד אז.

חוברת עבודה לפני אירוע הדפסה

כאשר אתה נותן את פקודת ההדפסה (או הפקודה Preview Preview), האירוע לפני ההדפסה מופעל.

הקוד שלהלן יחשב מחדש את כל גליונות העבודה לפני הדפסת חוברת העבודה שלך.

חוברת עבודה פרטית_חזית הדפסה (בטל כבולאני) לכל ws בגליונות עבודה ws. חישוב הבא ws סוף תת

כאשר המשתמש מדפיס את חוברת העבודה, האירוע יופעל בין אם הוא/היא מדפיסים את חוברת העבודה כולה או רק חלק ממנה.

דוגמה נוספת להלן היא של הקוד שיוסיף את התאריך והשעה לכותרת התחתונה בעת הדפסת חוברת העבודה.

תת פרטי Workbook_BeforePrint (בטל כבולאני) Dim ws as גליון עבודה עבור כל ws ב ThisWorkbook.Worksheets ws.PageSetup.LeftFooter = "מודפס על-" ופורמט (עכשיו, "dd-mmm-yyyy hh: mm") הבא ws סוף תת

אירועים ברמת גליון עבודה (מוסברים עם דוגמאות)

אירועי גליון עבודה מתקיימים בהתבסס על הטריגרים בדף העבודה.

להלן האירועים הנפוצים ביותר בגליון עבודה.

שם אירוע מה מניע את האירוע
לְהַפְעִיל כאשר גליון העבודה מופעל
לפני מחק לפני מחיקת גליון העבודה
לפני DoubleClick לפני לחיצה כפולה על גליון העבודה
לפני קליק לפני לחיצה ימנית על גליון העבודה
לחשב לפני חישוב או חישוב מחדש של גליון העבודה
שינוי כאשר התאים בגליון העבודה משתנים
בטל כאשר גליון העבודה מושבת
PivotTableUpdate כאשר טבלת הצירים בגליון העבודה מתעדכנת
בחירה שנה כאשר הבחירה בגליון העבודה משתנה

שים לב שזו אינה רשימה מלאה. את הרשימה המלאה תוכל למצוא כאן.

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

כעת נסתכל על כמה אירועים שימושיים בדף עבודה ונראה כיצד ניתן להשתמש בהם בעבודתך השוטפת.

אירוע הפעלת גליון עבודה

אירוע זה מופעל כאשר אתה מפעיל גליון עבודה.

הקוד שלהלן מבטל את ההגנה על גיליון ברגע שהוא מופעל.

גליון משנה פרטי של Works_Activate () ActiveSheet. ביטול הגנה של Sub Sub

תוכל גם להשתמש באירוע זה כדי לוודא שנבחר תא ספציפי או טווח תאים (או טווח בשם) ברגע שתפעיל את גליון העבודה. הקוד שלהלן יבחר בתא D1 ברגע שתפעיל את הגיליון.

גליון משנה פרטי של Works_Activate () ActiveSheet.Range ("D1"). בחר סיום תת

אירוע שינוי גליון עבודה

אירוע שינוי מופעל בכל פעם שאתה מבצע שינוי בגליון העבודה.

טוב … לא תמיד.

ישנם כמה שינויים שמפעילים את האירוע, וחלקם לא. להלן רשימה של כמה שינויים שלא יפעילו את האירוע:

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

השינויים הבאים יפעילו את האירוע (למרות שאתה עשוי לחשוב שהוא לא צריך):

  • העתק והדבקת עיצוב יפעילו את האירוע.
  • מחיקת עיצוב תפעיל את האירוע.
  • הפעלת בדיקת איות תפעיל את האירוע.

להלן קוד שיציג תיבת הודעות עם כתובת התא שהשתנתה.

תת פרטי גליון עבודה_שינוי (ByVal Target as Range) MsgBox "זה עתה שינית" & Target.Address End Sub

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

עכשיו בואו נראה עוד כמה דוגמאות שימושיות.

נניח שיש לך טווח תאים (נניח A1: D10) ואתה רוצה להציג הודעה ולשאול את המשתמש אם הוא באמת רוצה לשנות תא בטווח זה או לא, תוכל להשתמש בקוד שלהלן.

הוא מציג הנחיה עם שני לחצנים - כן ולא. אם המשתמש בוחר 'כן', השינוי מתבצע, אחרת הוא מתהפך.

גליון תת -עבודה פרטי_שינוי (ByVal Target as Range) אם Target.Row <= 10 And Target.Column <= 4 ואז Ans = MsgBox ("אתה מבצע שינוי בתאים ב- A1: D10. האם אתה בטוח שאתה רוצה אותו?", vbYesNo) סוף אם If Ans = vbNo ואז Application.EnableEvents = False Application.Undo Application.EnableEvents = סוף סוף אם סוף תת

בקוד לעיל, אנו בודקים אם תא היעד נמצא ב -4 העמודות הראשונות וב -10 השורות הראשונות. אם זה המצב, תיבת ההודעות מוצגת. כמו כן, אם המשתמש בחר לא בתיבת ההודעות, השינוי מתהפך (על ידי הפקודה Application.Undo).

שים לב שהשתמשתי ב- Application.EnableEvents = False לפני השורה Application.Undo. ואז הפכתי אותו באמצעות Application.EnableEvent = True בשורה הבאה.

יש צורך בכך כאשר כאשר הביטול קורה, הוא גם מפעיל את אירוע השינוי. אם לא אגדיר את EnableEvent ל- False, הוא ימשיך להפעיל את אירוע השינוי.

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

תת פרטי גליון עבודה_שינוי (ByVal יעד כטווח) Dim DRange כטווח הגדר DRange = טווח ("DataRange") אם לא חותכים (Target, DRange) אין כלום MsgBox "עשית רק שינוי בטווח הנתונים" End if End Sub

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

בחירת חוברת עבודה שינוי אירוע

אירוע שינוי הבחירה מופעל בכל פעם שיש שינוי בחירה בגליון העבודה.

הקוד שלהלן יחשב מחדש את הגיליון ברגע שתשנה את הבחירה.

יישום תת גיליון פרטי_בחירה שינוי (יעד ByVal כטווח). חישוב קצה תת

דוגמה נוספת לאירוע זה היא כאשר ברצונך להדגיש את השורה והעמודה הפעילה של התא הנבחר.

משהו כפי שמוצג להלן:

הקוד הבא יכול לעשות זאת:

תת פרטי גליון עבודה_בחירה שינוי (יעד ByVal כטווח) Cells.Interior.ColorIndex = xlNone With ActiveCell .EntireRow.Interior.Color = RGB (248, 203, 173) .EntireColumn.Interior.Color = RGB (180, 198, 231) סיים עם סיום תת

הקוד מסיר תחילה את צבע הרקע מכל התאים ולאחר מכן מחיל את זה שמוזכר בקוד על השורה והעמודה הפעילה.

וזו הבעיה עם הקוד הזה. שהוא מסיר צבע מכל התאים.

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

אירוע חוברת עבודה DoubleClick

זהו אחד האירועים האהובים עלי בדף העבודה ותראה הרבה הדרכות שבהן השתמשתי בזה (כגון זה או זה).

אירוע זה מופעל כאשר אתה לוחץ פעמיים על תא.

תן לי להראות לך כמה זה מדהים.

בעזרת הקוד שלהלן, תוכל ללחוץ פעמיים על תא והוא יחיל צבע רקע, ישתנה את צבע הגופן ויהפוך את הטקסט בתא מודגש;

גליון משנה פרטי לעבודה_בפני דאבלקליק (יעד ByVal כטווח, ביטול כבולאני) ביטול = נכון עם יעד. Interior.Color = vbBlue .Font.Color = vbWhite .Font.Bold = סוף נכון עם קצה קצה

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

שים לב שבקוד לעיל, ערכתי את הערך של ביטול = נכון.

זה נעשה כך שפעולת ברירת המחדל של לחיצה כפולה מושבתת - כלומר להיכנס למצב העריכה. עם ביטול = נכון, Excel לא יביא אותך למצב עריכה כאשר אתה לוחץ פעמיים על התא.

להלן דוגמא נוספת.

אם יש לך רשימת מטלות ב- Excel, תוכל להשתמש באירוע לחיצה כפולה על מנת להחיל את תבנית החיתוך כדי לסמן את המשימה שהושלמה.

משהו כפי שמוצג להלן:

הנה הקוד שיעשה זאת:

גליון משנה פרטי של עבודה_בעברדופלקליק (יעד ByVal כטווח, ביטול כבולאני) Cancel = True CurrFormat = Target.Font.Strikethrough If CurrFormat Then Target.Font.Strikethrough = False Else Target.Font.Strikethrough = True Sub if End Sub

שים לב שבקוד זה, עשיתי לחיצה כפולה כאירוע החלפה. כאשר אתה לוחץ פעמיים על תא, הוא בודק אם פורמט החתירה כבר הוחל. אם זה קרה, לחיצה כפולה מסירה את תבנית החיתוך, ואם לא הייתה, תבנית החיתוך מוחלת.

אירוע זמן VBA של Excel

האירועים שראינו עד כה במאמר זה היו קשורים לאחד מאובייקטים של Excel, בין אם זה חוברת העבודה, גליון העבודה, דף התרשים או UserForms וכו '.

אירוע OnTime שונה מאירועים אחרים מכיוון שניתן לאחסן אותו במודול VBA הרגיל (בעוד שאחרים היו צריכים להיות ממוקמים בחלון הקוד של אובייקטים כגון ThisWorkbook או גליונות עבודה או UserForms).

בתוך מודול ה- VBA הרגיל, הוא משמש כשיטה של ​​אובייקט היישום.

הסיבה שזה נחשב לאירוע היא שאפשר להפעיל אותו על סמך הזמן שאתה מציין. לדוגמה, אם אני רוצה שהגיליון יחושב מחדש כל 5 דקות, אוכל להשתמש באירוע OnTime עבורו.

או, אם אני רוצה להציג הודעה/תזכורת בזמן מסוים ביום, אני יכול להשתמש באירוע OnTime.

להלן קוד שיציג הודעה בשעה 14:00 כל יום.

Sub MessageTime () Application.OnTime TimeValue ("14:00:00"), "ShowMessage" סוף תת תת ShowMessage () MsgBox "הגיע זמן ארוחת הצהריים" סיום תת

זכור שעליך למקם קוד זה במודול ה- VBA הרגיל,

כמו כן, בעוד שאירוע OnTime יופעל בזמן שצוין, עליך להפעיל את המאקרו באופן ידני בכל עת. לאחר שתפעיל את המאקרו, הוא יחכה עד השעה 14:00 ואז יקרא למאקרו 'ShowMessage'.

המאקרו ShowMessage יציג לאחר מכן את ההודעה.

האירוע OnTime לוקח ארבעה ארגומנטים:

Application.OnTime (הזמן המוקדם ביותר, תהליך, זמן אחרון, לוח זמנים)

  • הזמן המוקדם ביותר: הזמן שבו ברצונך להריץ את ההליך.
  • תהליך: שם ההליך שצריך להריץ.
  • זמן אחרון (אופציונלי): במקרה שבו קוד אחר פועל ולא ניתן להריץ את הקוד שצוין בזמן שצוין, תוכל לציין את האחרון זמן שאליו עליו להמתין. לדוגמה, זה יכול להיות EarliestTime + 45 (מה שאומר שהוא יחכה 45 שניות עד שההליך השני יסתיים). אם גם לאחר 45 שניות ההליך אינו מסוגל לפעול, הוא נזנח. אם לא תציין זאת, Excel יחכה עד שניתן יהיה להריץ את הקוד ולאחר מכן להריץ אותו.
  • לוח זמנים (אופציונלי): אם הוא מוגדר כ- True, הוא מתזמן הליך זמן חדש. אם False, הוא מבטל את ההליך שהוגדר קודם לכן. כברירת מחדל, זה נכון.

בדוגמה שלמעלה, השתמשנו רק בשני הטיעונים הראשונים.

בואו נסתכל על דוגמא נוספת.

הקוד שלהלן ירענן את דף העבודה כל 5 דקות.

Dim NextRefresh as Date Sub RefreshSheet () ThisWorkbook.Worksheets ("Sheet1"). חשב את NextRefresh = Now + TimeValue ("00:05:00") Application.OnTime NextRefresh, "RefreshSheet" End Sub SubRefresh () על המשך השגיאה המשך Application.OnTime NextRefresh, "RefreshSheet",, Sub End End

הקוד לעיל ירענן את דף העבודה כל 5 דקות.

הוא משתמש בפונקציה Now כדי לקבוע את השעה הנוכחית ולאחר מכן מוסיף 5 דקות לשעה הנוכחית.

אירוע OnTime ימשיך לפעול עד שתפסיק אותו. אם תסגור את חוברת העבודה ויישום Excel עדיין פועל (חוברות עבודה אחרות פתוחות), חוברת העבודה שבה מופעל אירוע OnTime תפתח את עצמה מחדש.

זה מטופל טוב יותר על ידי עצירה ספציפית של אירוע OnTime.

בקוד לעיל, יש לי את קוד StopRefresh, אך עליך לבצע אותו כדי לעצור את אירוע OnTime. אתה יכול לעשות זאת באופן ידני, להקצות אותו ללחצן ולעשות זאת על ידי לחיצה על הכפתור או התקשר אליו מהאירוע סגור חוברת עבודה.

תת פרטי חוברת עבודה_לפני סגור (בטל כבולאני) עצור שיחה רענן סיום תת

קוד האירוע 'לפני הסגירה' לעיל נכנס לחלון הקוד של ThisWorkbook.

אירוע OnKey של Excel VBA

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

עם אירוע OnKey, באפשרותך לציין הקשה (או שילוב של הקשות) והקוד שיש לבצע בעת שימוש בהקשה זו. כאשר תלחץ על הקשות אלה, הוא יבצע את הקוד עבורו.

בדיוק כמו אירוע OnTime, עליך גם לבטל את אירוע OnKey. כמו כן, כאשר אתה מגדיר את אירוע OnKey עבור הקשה מסוימת, הוא הופך להיות זמין בכל חוברות העבודה הפתוחות.

לפני שאראה לך דוגמה לשימוש באירוע OnKey, הרשה לי לשתף תחילה את קודי המפתח הזמינים עבורך ב- VBA.

מַפְתֵחַ קוד
מקש לחזור אחורה {BACKSPACE} או {BS}
לשבור {לשבור}
נעילה אותיות גדולות {נעילה אותיות גדולות}
לִמְחוֹק {DELETE} או {DEL}
חץ למטה {מטה}
סוֹף {סוֹף}
להיכנס ~
הזן (בלוח המקשים nueric) {להיכנס}
בריחה {ESCAPE} או {ESC}
בית {בית}
Ins {לְהַכנִיס}
חץ שמאלי {שמאלה}
NumLock {NUMLOCK}
PageDown {PGDN}
גלול למעלה {PGUP}
חץ ימני {ימין}
נעילת גלילה {SCROLLOCK}
כרטיסייה {TAB}
חץ המורה למעלה {לְמַעלָה}
F1 עד F15 {F1} עד {F15}

כאשר אתה צריך להשתמש בכל אירוע onkey, עליך להשתמש בקוד עבורו.

הטבלה שלעיל מכילה את הקודים להקשות בודדות.

אתה יכול גם לשלב אותם עם הקודים הבאים:

  • מִשׁמֶרֶת: + (סימן פלוס)
  • לִשְׁלוֹט: ^ (קרט)
  • Alt: % (אֲחוּזִים)

לדוגמה, עבור Alt F4, עליך להשתמש בקוד: "%{F4}” - כאשר % הוא עבור מקש ALT ו- {F4} הוא עבור מקש F4.

עכשיו בואו נסתכל על דוגמה (זכרו את הקוד לאירועי OnKey ממוקמים במודול ה- VBA הרגיל).

כאשר אתה לוחץ על מקש PageUp או PageDown, הוא קופץ 29 שורות מעל/מתחת לתא הפעיל (לפחות זה מה שהוא עושה במחשב הנייד שלי).

אם אתה רוצה שזה יקפוץ רק 5 שורות בכל פעם, תוכל להשתמש בקוד שלהלן:

Sub PageUpDOwnKeys () Application.OnKey "{PgUp}", "PageUpMod" Application.OnKey "{PgDn}", "PageDownMod" End Sub Sub PageUpMod () על חידוש השגיאה הבא ActiveCell.Offset (-5, 0). הפעל סוף תת משנה PageDownMod () על שגיאה המשך הבא ActiveCell.Offset (5, 0). הפעל קצה משנה

כאשר תריץ את החלק הראשון של הקוד, הוא יפעיל את אירועי OnKey. לאחר ביצוע זה, שימוש במקש PageUp ומקש PageDown יגרום לסמן לקפוץ רק 5 שורות בכל פעם.

שים לב שהשתמשנו ב- 'On Error Resume Next' כדי לוודא שהתעלמות משגיאות. שגיאות אלה יכולות להתרחש כאשר אתה לוחץ על מקש PageUp גם כאשר אתה נמצא בחלק העליון של גליון העבודה. מכיוון שאין עוד שורות לקפוץ, הקוד יראה שגיאה. אך מכיוון שהשתמשנו ב- 'On Error Resume Next', זה יתעלם.

כדי לוודא שאירועי OnKey אלה זמינים, עליך להפעיל את החלק הראשון של הקוד. במקרה שאתה רוצה שזה יהיה זמין ברגע שתפתח את חוברת העבודה, תוכל למקם זאת בחלון הקוד של ThisWorkbook.

Sub Workbook_Open () Application.OnKey "{PgUp}", "PageUpMod" Application.OnKey "{PgDn}", "PageDownMod" End Sub

הקוד שלהלן יחזיר את המפתחות לתפקוד הרגיל שלהם.

Sub Cancel_PageUpDownKeysMod () Application.OnKey "{PgUp}" Application.OnKey "{PgDn}" סיום תת

כאשר לא תציין את הארגומנט השני בשיטת OnKey, הוא יחזיר את הקשה על הפונקציונליות הרגילה שלו.

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

בקוד שלהלן, Excel לא היה עושה דבר כאשר אנו משתמשים במקשי PageUp או PageDown.

Sub Ignore_PageUpDownKeys () Application.OnKey "{PgUp}", "" Application.OnKey "{PgDn}", "" End Sub

השבתת אירועים ב- VBA

לפעמים ייתכן שיהיה עליך להשבית אירועים כדי שהקוד שלך יפעל כראוי.

לדוגמה, נניח שיש לי טווח (A1: D10) ואני רוצה להציג הודעה בכל פעם שתא משתנה בטווח זה. אז אני מציג תיבת הודעות ושואל את המשתמש אם הוא בטוח שהוא רוצה לבצע את השינוי. אם התשובה היא כן, השינוי מתבצע, ואם התשובה היא לא, VBA היה מבטל אותה.

אתה יכול להשתמש בקוד שלהלן:

גליון תת -עבודה פרטי_שינוי (ByVal Target as Range) אם Target.Row <= 10 And Target.Column <= 4 ואז Ans = MsgBox ("אתה מבצע שינוי בתאים ב- A1: D10. האם אתה בטוח שאתה רוצה אותו?", vbYesNo) סוף אם אם Ans = vbNo ואז יישום. ביטול סוף אם סוף תת

הבעיה עם קוד זה היא שכאשר המשתמש בוחר לא בתיבת ההודעות, הפעולה מתהפכת (כפי שהשתמשתי ב- Application.Undo).

כאשר הביטול מתרחש והערך משתנה בחזרה לערך המקורי, אירוע השינוי ב- VBA מופעל שוב, והמשתמש מציג שוב את אותה תיבת הודעות.

המשמעות היא שתוכל להמשיך ללחוץ על NO בתיבת ההודעות וזה ימשיך להופיע. זה קורה כאשר נתקעתם בלולאה האינסופית במקרה זה.

כדי להימנע ממקרים כאלה, עליך להשבית אירועים כך שאירוע השינוי (או כל אירוע אחר) לא יופעל.

הקוד הבא יעבוד טוב במקרה זה:

גליון תת -עבודה פרטי_שינוי (ByVal Target as Range) אם Target.Row <= 10 And Target.Column <= 4 ואז Ans = MsgBox ("אתה מבצע שינוי בתאים ב- A1: D10. האם אתה בטוח שאתה רוצה אותו?", vbYesNo) סוף אם If Ans = vbNo ואז Application.EnableEvents = אפליקציה שגויה.אבטל Application.EnableEvents = סוף אמת אם סוף תת

בקוד לעיל, ממש מעל לשורת Application.Undo, השתמשנו - Application.EnableEvents = False.

הגדרת EnableEvents ל- False לא תפעיל אירוע כלשהו (בחוברות העבודה הנוכחיות או בחוברות עבודה פתוחות).

לאחר שסיימנו את פעולת הביטול, נוכל להחזיר את המאפיין EnableEvents ל- True.

זכור כי השבתת אירועים משפיעה על כל חוברות העבודה שנפתחות כעת (או נפתחות כאשר EnableEvents מוגדר כ- False). לדוגמה, כחלק מהקוד, אם תפתח חוברת עבודה חדשה, אז אירוע פתיחת חוברת העבודה לא יפעל.

השפעת אירועים בטל מחסנית

תן לי קודם כל לספר לך מהי מחסנית ביטול.

כאשר אתה עובד ב- Excel, הוא ממשיך לעקוב אחר פעולותיך. כאשר אתה עושה טעות, תוכל תמיד להשתמש ב- Control + Z כדי לחזור לשלב הקודם (כלומר לבטל את הפעולה הנוכחית שלך).

אם תלחץ פעמיים על Control + Z, זה יחזיר אותך שני צעדים אחורה. שלבים אלה שביצעת מאוחסנים כחלק מחימת הביטול.

כל אירוע שמשנה את גליון העבודה הורס את ערימת הביטול הזו.זה אומר שאם עשיתי 5 דברים לפני שאני מפעיל אירוע, לא אוכל להשתמש ב- Control + Z כדי לחזור לשלבים הקודמים. הפעלת האירוע הרסה לי את הערימה.

בקוד שלהלן, אני משתמש ב- VBA כדי להזין את חותמת הזמן בתא A1 בכל פעם שיש שינוי בגליון העבודה.

גליון תת-עבודה פרטי_שינוי (ByVal Target As Range) Application.EnableEvents = טווח שווא ("A1"). Value = Format (עכשיו, "dd-mmm-yyyy hh: mm: ss") Application.EnableEvents = Sub End True

מכיוון שאני מבצע שינוי בגליון העבודה, הדבר יהרוס את ערימת הביטול.

כמו כן, שימו לב כי הדבר אינו מוגבל לאירועים בלבד.

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

לדוגמה, הקוד להלן פשוט הזן את הטקסט "שלום" בתא A1, אך אפילו הפעלת זה יהרוס את ערימת הביטול.

סוג תת שלום () טווח ("A1"). Value = "שלום" קצה משנה

אולי תאהב גם את מדריכי ה- VBA הבאים של Excel:

  • עבודה עם תאים וטווחים ב- Excel VBA.
  • עבודה עם גליונות עבודה ב- Excel VBA.
  • עבודה עם חוברות עבודה ב- Excel VBA.
  • לולאות VBA של Excel - המדריך האולטימטיבי.
  • שימוש ב- IF Then Else Statement ב- Excel VBA.
  • ללולאה הבאה באקסל.
  • יצירת פונקציות מוגדרות משתמש ב- Excel VBA.
  • כיצד ליצור ולהשתמש בתוספות ב- Excel.
  • צור ושימוש חוזר במאקרו על ידי שמירה בחוברת עבודה מאקרו אישית.

תוכל לעזור בפיתוח האתר, שיתוף הדף עם החברים שלך

wave wave wave wave wave