קורסי מיקרוסופט לארגונים – כרמל הדרכה

Microsoft Partner

קורס אקסל VBA – התמצאות במבנה קוד המאקרו

תוכן עניינים

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

הקוד במופיע באיזור העבודה כתוב ברמת אובייקט מסוים. אובייקט יכול להיות:

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

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

הקלטת המאקרו תאוחסן בתוך מודול, וחלון המודול יפתח כאשר תפתח פקודת המאקרו לעריכה (ר' סעיף צפייה בקוד המאקרו המוקלט ועריכתו):

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

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

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

בדוגמה הנ"ל ניתן לראות:

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

לפיכך, את הדוגמה הנ"ל ניתן לערוך ולקצר לקוד הבא:

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

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

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

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

 

 

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

בעלי ניסיון הדרכתי ומעשי עשיר

מגיעים אליכם

אתם קובעים את מיקום הקורס והמועד

תאוריה ותרגול

חומרי לימוד ומעבדות רשמיות של מיקרוסופט הזמינים בענן

תוכנית מותאמת

התאמה מלאה ואישית לדרישות ולצרכי הארגון

למדו מהמומחים שלנו
טיפ לשימוש ב- Excel VBA
קורס אקסל VBA – קבצים Excel VBA

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

קרא עוד »
קורס אקסל VBA
קורס אקסל VBA – מרכז יחסי האמון ורמות אבטחה

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

קרא עוד »
קורס אקסל VBA
קורס אקסל VBA – הגנה ונעילה

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

קרא עוד »
קורס אקסל VBA
קורס אקסל VBA – אירועים

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

קרא עוד »
קורס אקסל VBA
קורס אקסל VBA – מודול עריכה Class Module

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

קרא עוד »

מתחיל ב-06.06.2024

1 מפגש

16:00 - 09:00
Azure AI Fundamentals
דילוג לתוכן