כיצד להקליט מאקרו ב- Excel - מדריך שלב אחר שלב

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

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

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

מהו מאקרו?

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

מאקרו הוא קוד שנכתב ב- VBA (Visual Basic for Applications) המאפשר לך להריץ נתח קוד בכל פעם שהוא מבוצע.

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

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

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

כעת, כאשר אתה מפסיק את ההקלטה, שומר את המאקרו ומפעיל אותו, Excel פשוט חוזר לקוד ה- VBA שהוא יצר ועוקב אחר אותם השלבים בדיוק.

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

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

קבלת הכרטיסייה מפתחים ברצועת הכלים

השלב הראשון להקלטת מאקרו הוא לקבל את הכרטיסייה מפתחים בסרט.

אם אתה כבר יכול לראות את כרטיסיית המפתחים בסרט, עבור לסעיף הבא, אחרת בצע את השלבים הבאים:

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

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

הקלטת מאקרו באקסל

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

בואו להקליט מאקרו פשוט מאוד - כזה שבוחר תא ומזין בו את הטקסט 'Excel'. אני משתמש בטקסט 'Excel' בזמן הקלטת המאקרו הזה, אך אל תהסס להזין את שמך או כל טקסט אחר שאתה אוהב.

להלן השלבים להקלטת מאקרו זה:

  1. לחץ על הכרטיסייה מפתחים.
  2. בקבוצת הקוד, לחץ על כפתור המאקרו. פעולה זו תפתח את תיבת הדו -שיח 'הקלט מאקרו'.
  3. בתיבת הדו -שיח הקלטת מאקרו, הזן שם למאקרו שלך. אני משתמש בשם EnterText. ישנם מספר תנאי שמות שעליהם לפעול בעת מתן שמות למאקרו. לדוגמה, אינך יכול להשתמש ברווחים בין לבין. בדרך כלל אני מעדיף לשמור את שמות המאקרו שלי כמילה אחת, עם חלקים שונים עם אלפבית ראשון באותיות רישיות. תוכל גם להשתמש בקו תחתון כדי להפריד בין שתי מילים - כגון Enter_Text.
  4. (שלב אופציונלי) תוכל להקצות קיצור מקשים אם תרצה. במקרה זה, נשתמש בקיצור המקשים Control + Shift + N. זכור כי קיצור הדרך שתקצה כאן יעקוף כל קיצורי דרך קיימים בחוברת העבודה שלך. לדוגמה, אם תקצה את קיצור הדרך Control + S, לא תוכל להשתמש בזה לשמירת חוברת העבודה (במקום זאת, בכל פעם שתשתמש בו הוא יבצע את המאקרו).
  5. באפשרות 'אחסן מאקרו ב', ודא ש'חוברת עבודה זו 'נבחרה. שלב זה מבטיח שהמאקרו הוא חלק מחוברת העבודה. זה יהיה שם כאשר תשמור אותו ותפתח שוב, או אפילו אם תשתף אותו עם מישהו.
  6. (שלב אופציונלי) הזן תיאור. בדרך כלל אני לא עושה את זה, אבל אם אתה מאורגן במיוחד, ייתכן שתרצה להוסיף על מה המאקרו.
  7. לחץ על אישור. ברגע שאתה לוחץ על אישור, הוא מתחיל לרשום את הפעולות שלך ב- Excel. אתה יכול לראות את הלחצן 'עצור הקלטה' בכרטיסייה מפתחים, המציין שהקלטת המאקרו מתבצעת.
  8. בחר תא A2.
  9. הזן את הטקסט לְהִצטַיֵן (או שאתה יכול להשתמש בשם שלך).
  10. הקש על מקש Enter. פעולה זו תבחר את תא A3.
  11. לחץ על הלחצן עצור הקלטה בכרטיסייה מפתחים.

מזל טוב!

כרגע רשמת את המאקרו הראשון שלך ב- Excel. אתה כבר לא בתול מאקרו.

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

עכשיו בואו נמשיך ונבדוק את המאקרו הזה.

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

  1. מחק את הטקסט בתא A2. זה כדי לבדוק אם המאקרו מוסיף את הטקסט בתא A2 או לא.
  2. בחר תא כלשהו - מלבד A2. זה כדי לבדוק אם המאקרו בוחר את התא A2 או לא.
  3. לחץ על הכרטיסייה מפתחים.
  4. בקבוצת הקוד, לחץ על הלחצן פקודות מאקרו.
  5. בתיבת הדו -שיח מאקרו, לחץ על שם המאקרו - EnterText.
  6. לחץ על כפתור הפעלה.

תבחין שברגע שתלחץ על כפתור הפעלה, הטקסט 'Excel' יוכנס לתא A2 ותא A3 ייבחר.

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

אז המאקרו בוחר תחילה את התא A2, ואז נכנס לטקסט לְהִצטַיֵן בו ולאחר מכן בוחר את התא A3.

הערה: ניתן להריץ את המאקרו גם באמצעות קיצור המקשים Control + Shift + N. (החזק את המקשים Ctrl ו- Shift ולאחר מכן הקש על מקש N). זהו אותו קיצור מקשים שהקצבנו למאקרו בעת הקלטתו.

מה הקלטת מאקרו עושה ב- Backend

כעת נלך למגש האחורי של Excel - עורך VB - ונראה מה באמת עושה הקלטה של ​​מאקרו.

להלן השלבים לפתיחת עורך VB ב- Excel:

  1. לחץ על הכרטיסייה מפתחים.
  2. בקבוצת הקוד, לחץ על הלחצן Visual Basic.

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

עכשיו אם אתה רואה את עורך ה- VB בפעם הראשונה, אל תהיה המום.

הרשה לי להכיר אותך במהירות באנטומיה של עורך VB.

  • תפריט הבר: כאן יש לך את כל האפשרויות של עורך VB. ראו בכך את סרט ה- VBA. הוא מכיל פקודות שניתן להשתמש בהן בעת ​​עבודה עם עורך VB.
  • סרגל כלים - זה כמו סרגל הכלים לגישה מהירה של עורך VB. הוא כולל כמה אפשרויות שימושיות, ותוכל להוסיף לו אפשרויות נוספות. היתרון שלו הוא שאפשרות בסרגל הכלים נמצאת במרחק קליק אחד בלבד.
  • חלון Explorer Explorer - כאן Excel מפרטת את כל חוברות העבודה ואת כל האובייקטים בכל חוברת עבודה. לדוגמה, אם יש לנו חוברת עבודה עם 3 גליונות עבודה, היא תופיע בסייר הפרויקטים. יש כאן כמה אובייקטים נוספים כגון מודולים, טפסי משתמש ומודולי מחלקה.
  • חלון קוד - כאן נרשם או נכתב קוד VBA. יש חלון קוד לכל אובייקט המופיע ב- Explorer Explorer - כגון גליונות עבודה, חוברות עבודה, מודולים וכו '. נראה בהמשך הדרכה זו שהמאקרו המוקלט נכנס לחלון הקוד של מודול.
  • חלון מאפיינים - אתה יכול לראות את המאפיינים של כל אובייקט בחלון זה. לעתים קרובות אני משתמש בחלון זה לשם שמות אובייקטים או שינוי המאפיינים הנסתרים. ייתכן שלא תראה חלון זה בעת פתיחת עורך VB. כדי להציג זאת, לחץ על הכרטיסייה תצוגה ובחר חלון מאפיינים.
  • חלון מיידי - לעתים קרובות אני משתמש בחלון המיידי בעת כתיבת קוד. זה שימושי כאשר אתה רוצה לבדוק כמה הצהרות או בעת איתור באגים. יתכן שהוא אינו גלוי כברירת מחדל ותוכל לגרום לו להופיע על ידי לחיצה על הכרטיסייה תצוגה ובחירה באפשרות חלון מיידי.

כשהקלטנו את המאקרו - EnterText, הדברים הבאים קרו בעורך VB:

  • נוספה מודול חדש.
  • מאקרו נרשם בשם שציינו - EnterText
  • הקוד נכתב בחלון הקוד של המודול.

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

להלן הקוד שמקליט המאקרו נתן לנו:

Sub EnterText () '' EnterText Macro '' קיצור מקשים: טווח Ctrl+Shift+N '("A2"). בחר ActiveCell.FormulaR1C1 = "Excel" טווח ("A3"). בחר Sub Sub

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

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

הקוד מתחיל בסאב ואחריו שם המאקרו והסוגריים הריקים. Sub הוא קיצור של Subroutine. כל שגרת משנה (נקראת גם פרוצדורה) ב- VBA מתחילה ב- Sub ומסתיימת ב- End Sub.

  • טווח ("A2"). בחר - שורה זו בוחרת את התא A2.
  • ActiveCell.FormulaR1C1 = "Excel" - שורה זו נכנסת לטקסט Excel בתא הפעיל. מכיוון שבחרנו A2 כצעד הראשון, הוא הופך לתא הפעיל שלנו.
  • טווח ("A3"). בחר - זה בוחר תא A3. זה קורה כאשר אנו לוחצים על מקש Enter לאחר הזנת הטקסט, שתוצאה שלו הייתה לבחור תא A3.

אני מקווה שעכשיו יש לך הבנה בסיסית כיצד להקליט מאקרו ב- Excel.

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

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

הקלטת מאקרו יחסית יחסית

אתה כבר יודע על הפניות מוחלטות ויחסיות ב- Excel … נכון?

אם לא - קרא תחילה הדרכה זו בנושא הפניות.

קרא את זה? בוא נמשיך הלאה.

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

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

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

עכשיו אתה בוחר תא A2, הזן את טקסט Excel ולחץ על מקש enter. כעת, כאשר תפעיל את המאקרו הזה, הוא לא יחזור לתא A2, במקום זאת הוא יזוז ביחס לתא הפעיל. לדוגמה, אם תא K3 נבחר, הוא יעבור ל- K4, יזין את הטקסט Excel ולאחר מכן בחר בתא K5.

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

  1. בחר תא A1.
  2. לחץ על הכרטיסייה מפתחים.
  3. בקבוצת הקוד, לחץ על הלחצן 'השתמש בהפניות יחסיות'. הוא יהפוך לירוק, מה שמציין שהוא מופעל.
  4. לחץ על הלחצן הקלט מאקרו.
  5. בתיבת הדו -שיח הקלטת מאקרו, הזן שם למאקרו שלך. אני משתמש בשם EnterTextRelRef.
  6. באפשרות מאקרו בחנות, ודא ש'חוברת עבודה זו 'נבחרה.
  7. לחץ על אישור.
  8. בחר תא A2.
  9. הזן את הטקסט לְהִצטַיֵן (או שאתה יכול להזין את שמך).
  10. הקש על מקש Enter. פעולה זו תעביר את הסמן לתא A3.
  11. לחץ על הלחצן עצור הקלטה בכרטיסייה מפתחים.

זה יקליט את המאקרו במצב ההתייחסות היחסי.

עכשיו עשה זאת.

  1. בחר תא כלשהו (מלבד A1).
  2. לחץ על הכרטיסייה מפתחים.
  3. בקבוצת הקוד, לחץ על הלחצן פקודות מאקרו.
  4. בתיבת הדו -שיח מאקרו, לחץ על שם המאקרו - EnterTextRelRef.
  5. לחץ על כפתור הפעלה.

מה קורה? האם הסמן חזר לתא A3.

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

להלן הקוד המתועד במערך האחורי (חלון קוד מודול עורך VB):

תת EnterTextRelRef () '' EnterTextRelRef Macro '' ActiveCell.Offset (1, 0) .Range ("A1"). בחר ActiveCell.FormulaR1C1 = "Excel" ActiveCell.Offset (1, 0). טווח ("A1"). בחר סיום תת

שים לב שכל הקוד הזה אינו מתייחס לתאים K3 או K4 בשום מקום. במקום זאת, הוא משתמש ב- Activecell כדי להתייחס לתא שנבחר וקיזוז כדי לעבור ביחס לתא הפעיל.

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

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

מה מקליט מאקרו לא יכול לעשות

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

  • אינך יכול לבצע קוד מבלי לבחור את האובייקט. אם אתה רוצה שמקליט המאקרו יעבור לדף העבודה הבא וידגיש את כל התאים המלאים בעמודה A, מבלי לצאת מגליון העבודה הנוכחי, הוא לא יוכל לעשות זאת. זה בגלל שאם אבקש ממך לעשות זאת, אפילו לא תוכל לעשות זאת (מבלי לעזוב את הגיליון הנוכחי). ואם אינך יכול לעשות זאת בעצמך, כיצד יתעד מקליט המאקרו את פעולותיך. במקרים כאלה, עליך לעבור באופן ידני וליצור/לערוך את הקוד.
  • לא ניתן ליצור פונקציה מותאמת אישית עם מקליט מאקרו. עם VBA, תוכל ליצור פונקציות מותאמות אישית בהן תוכל להשתמש בגליון העבודה כפונקציות רגילות. תוכל ליצור זאת על ידי כתיבת הקוד באופן ידני.
  • לא ניתן להריץ קודים המבוססים על אירועים: ב- VBA אתה יכול להשתמש באירועים רבים - כגון פתיחת חוברת עבודה, הוספת גליון עבודה, לחיצה כפולה על תא וכו ', להפעלת קוד המשויך לאירוע זה. אתה יכול להשתמש במקליט מאקרו לשם כך.
  • לא ניתן ליצור לולאות עם מקליט מאקרו. כאשר אתה מזין את הקוד באופן ידני, אתה יכול למנף את עוצמת הלולאות ב- VBA (כגון For Next, For Every Next, Do While, Do until). אך אינך יכול לעשות זאת כאשר אתה מקליט מאקרו.
  • אינך יכול לנתח את התנאים: אתה יכול לבדוק אם קיימים תנאים בתוך הקוד באמצעות מקליט מאקרו. אם אתה כותב קוד VBA באופן ידני, תוכל להשתמש במשפטים IF Then Else כדי לנתח מצב ולהריץ קוד אם הוא נכון (או קוד אחר אם הוא לא נכון).
  • לא ניתן להעביר טיעונים בהליך מאקרו: כאשר אתה מקליט מאקרו, לעולם לא יהיו לו טיעונים. תת משנה יכול לקחת ארגומנטים קלט שניתן להשתמש בהם בתוך המאקרו לביצוע משימה. בעת הקלטת מאקרו, לא ניתן לעשות זאת מכיוון שמאקרו המאקרו המוקלט אינם עצמאיים ואינם מחוברים לשום מאקרו קיים אחר.

תוספי קבצים המאפשרים מאקרו

כאשר אתה מקליט מאקרו, או שאתה כותב ידנית קוד VBA ב- Excel, עליך לשמור את הקובץ עם סיומת קובץ המאופשרת מאקרו (.xlsm).

לפני Excel 2007, היה פורמט קובץ אחד שהיה מספיק בעבר - .xls.

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

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

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

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

עד כה ראינו רק דרך אחת להריץ מאקרו ב- Excel - באמצעות תיבת הדו -שיח מאקרו.

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

  1. הפעל מאקרו מהסרט (כרטיסיית מפתחים)
  2. שימוש בקיצור מקשים (אותו עליך להקצות)
  3. הקצה את המאקרו לצורה
  4. הקצה את המאקרו ללחצן
  5. הפעל מאקרו מעורך VB

מסקנה - הקלט מאקרו כשהוא תקוע

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

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

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

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

wave wave wave wave wave