קורס אקסל VBA – קבצים Excel VBA
הייתם רוצים לעזור למשתמשים לעבוד עם הקבצים שלכם ב-Excel באופן מסודר? לחייב אותם להזין מידע במקומות מוגדרים מראש, או להקפיץ להם התראות עם הנחיות בפתיחה או בסגירות הקובץ?
הייתם רוצים לעזור למשתמשים לעבוד עם הקבצים שלכם ב-Excel באופן מסודר? לחייב אותם להזין מידע במקומות מוגדרים מראש, או להקפיץ להם התראות עם הנחיות בפתיחה או בסגירות הקובץ?
פקודה הגדרה דוגמאות Application.ScreenUpdating = True/False לביטול או החזרה של עדכון מסך. ביטול תצוגת המסך עבור כל שינוי שמתבצע במהלך ריצת הקוד, מסייע במהירות ריצת
מאקרו הוא תוכנה חיצונית המתווספת על גבי ה-Excel ומבעת עליו פעולות אוטומטיות. תוכניות חיצוניות, שלא עברו תהליך רישום והרשאה במחשב, עלולות להיות זדוניות כמו וירוס, ולכן המחשב או התוכנה המארחת יציגו התראה לגבי תוכנית חיצונית המנסה לפעול. בהתאם, פעמים רבות כאשר נפתחת חוברת עבודה בה נמצא מאקרו, תוצג התראה אודות תוכן חסום הקיים בקובץ, שיש לאשרו כדי שיהיה זמין.
מאקרו הוא תוכנה חיצונית המתווספת על גבי ה-Excel ומבעת עליו פעולות אוטומטיות. תוכניות חיצוניות, שלא עברו תהליך רישום והרשאה במחשב, עלולות להיות זדוניות כמו וירוס, ולכן המחשב או התוכנה המארחת יציגו התראה לגבי תוכנית חיצונית המנסה לפעול. בהתאם, פעמים רבות כאשר נפתחת חוברת עבודה בה נמצא מאקרו, תוצג התראה אודות תוכן חסום הקיים בקובץ, שיש לאשרו כדי שיהיה זמין.
ניתן לפתח חלונות קופצים, שמציגים הודעות למשתמש ואף אוספים ממנו מידע. חלונות דו-שיח אלה מהווים את אחת התכונות החזקות והמשמעותיות ביותר ב-VBA.
כזכור, שפת ה-VBA היא שפה מונחית אירועים. עד כה עסק מדריך זה באירוע של לחיצה יזומה להפעלת הקוד, אך יכולים להיות גם אירועים נוספים שמציתים את ריצת הקוד, כמו בחירה של תא, יצירת גיליון, סגירה של חוברת העבודה, שמירה וכו'. זו גם הסיבה שעד כה המדריך עסק בקוד ברמת המודול ולא ברמת הגיליון או חוברת העבודה, המצויים גם הם בחלונית הפרויקטים, כיוון שבאופן זה הקוד גמיש ויכול לרוץ על כל הגיליונות, ולא קשור לאיזשהו אירוע שמתרחש בחוברת העבודה.
Class Module הוא מודול עריכה נוסף ב-VBA (בשונה מהמודול הרגיל לעריכת פקודות שנידון עד כה), המשמש ליצירת אובייקט מסוג חדש. Collection של פריטים ניתן ליצור במודול רגיל, אולם ליצירה של אובייקטים מותאמים אישית חדשים של ממש ואיסופם אל תוך Collection מותאם אישית, יש לפתוח Class Module חדש.
כללי בסיס בציון מחרוזת טקסט יש להשתמש בגרשיים כפולים בתחילת ובסוף המחרוזת. למשל: NewInput = "shalom" לחיבור מחרוזות ניתן להשתמש בסימן החיבור &. למשל: Range("D9").Value
Go To מקרה נוסף ונפוץ מאוד של שינוי בריצה ברצף ישר של פקודות הוא היכולת לקפוץ ישירות לשלבים נבחרים ברצף. למשל, דילוג על מספר פקודות
AND ו-OR הם אופרטורים נוספים, המאפשרים בדיקה של מספר תנאים במקביל ביחסים של חיתוך או הוספה (או / וגם).
עד כה התייחסנו ליצירת קוד, הפועל בתזרים ישר פקודה אחר פקודה. אך תרשים הזרימה של האלגוריתם יכול לכלול פיצולים של הרצף לפי בדיקות ותנאים
כפי ש-VBA מאפשר ליצור פקודות חדשות לתוכנה, ניתן ליצור באמצעות הקוד גם פונקציות חישוביות נוספות לסל הפונקציות בתוכנה.
הערות ניתן להוסיף במהלך הקוד הערות. ריצת הקוד מדלגת על שורות אלה, והן משמשות לצורך בקרה של הכותב בלבד. להערות יש שתי מטרות עיקריות: הוספת
תופעה שכיחה בקוד היא הצורך להגדיר מספר מאפיינים ופעולות על אובייקט אחד, למשל החלת מספר הגדרות על תא בודד: צבע רקע, גופן, הערך שבתוכו ועוד.
כללי בסיס תוכנת ה-Excel מכירה בתאריכים החל מה-01/01/1900. תאריכים ושעות מאוחסנים כמספרים עשרוניים. המספר 1 מייצג את ה-01/01/1900 וכל יום נוסף במניין הימים מיוצג ע"י
פעמים רבות נרצה לאחסן את ערכים, מחרוזות, חישובים, אובייקטים או שינויים שונים בתוך זיכרון זמני ולא בתוך אובייקטים של חוברת העבודה או תאים בגיליון.
אובייקטים אובייקט הגדרה תחביר דוגמאות Range מייצג תא או בלוק תאים רציף אחד או יותר או טווח. Range("{Cell}") Range("{Start_Cell}:{End_Cell}") Range("{Start_Cell}","{End_Cell}") Range("A1").Value = 6 Range("B5:E7").Copy
ניתן להוסיף לחצן מותאם אישית להפעלת המאקרו בארבעה אופנים שונים: בסרגל הכלים לגישה מהירה. בתפריט קיים או בתפריט חדש. כאובייקט מתפריט הוספה על גבי הגיליון.
נקודת עצירה (Breakpoint) משמשת למצב ביניים של הרצה, שבו מצד אחד, אין צורך בהרצה של שורה אחר שורה, אך יש צורך לעצור את ההרצה המלאה בנקודות מסוימות לצורך בקרה ובדיקת קטעי קוד.
כאמור, כל הפקודות הקיימות בתכנה הן מימוש של קוד בשפת תכנות. כך גם המאקרו שהוקלט מתורגם לקוד בשפת ה-VBA. ניתן לפתוח את עורך ה-VBA לצפות בקוד המאקרו, לערוך אותו ולכתוב קודים ליצירת פקודות חדשות לתכנה, ובכך להוסיף באופן מותאם אישית, על האפשרויות הקיימות בה.
ניתן להריץ את המאקרו שורה אחר שורה בשתי דרכים: דרך תיבת הדו-שיח מאקרו. דרך תפריט Debug בעורך ה-VBA. תיבת הדו-שיח מאקרו: תפריט מפתחים (או תפריט
כאמור, כל הפקודות הקיימות בתכנה הן מימוש של קוד בשפת תכנות. כך גם המאקרו שהוקלט מתורגם לקוד בשפת ה-VBA. ניתן לפתוח את עורך ה-VBA לצפות בקוד המאקרו, לערוך אותו ולכתוב קודים ליצירת פקודות חדשות לתכנה, ובכך להוסיף באופן מותאם אישית, על האפשרויות הקיימות בה.
כאמור, כל הפקודות הקיימות בתכנה הן מימוש של קוד בשפת תכנות. כך גם המאקרו שהוקלט מתורגם לקוד בשפת ה-VBA. ניתן לפתוח את עורך ה-VBA לצפות בקוד המאקרו, לערוך אותו ולכתוב קודים ליצירת פקודות חדשות לתכנה, ובכך להוסיף באופן מותאם אישית, על האפשרויות הקיימות בה.
ניתן להפעיל את המאקרו בשלוש דרכים: באמצעות תיבת הדו-שיח מאקרו. באמצעות קיצור מקשים – אם הוקצה מראש בעת הגדרות ההקלטה (ר' סעיף הקלטת מאקרו חדש).
הוספת תפריט "מפתחים" ניתן להקליט מאקרו חדש דרך מספר מקומות בתוכנה (ר' בפרק הבא). אולם אופן העבודה המומלץ ביותר הוא באמצעות תפריט מפתחים, שם פרוסים
VBA (Visual Basic for Applications) היא התאמה של שפת הקוד Visual Basic לתוכנות חבילת ה-Office
(Excel, Word, Power Point וכו') המאפשרת לגשת אל "מאחורי הקלעים" של התכנה ולתכנת תכונות נוספות מותאמות אישית ולהרחיב את היכולות של התוכנות. שפת ה- VBA מותאמת בנפרד לכל אחת מהתוכנות, ול-Excel בפרט.
רובנו עובדים עם אקסל, אך לא בהכרח יודעים לנצל את המערכת הזאת כמו שצריך. עכשיו תוכלו ללמוד איך להפוך פעולות שלוקחות זמן רב – לאוטומטיות, ובכך להקל על עצמכם ולחסוך זמן יקר. אם אתם עובדים עם אקסל ומרגישים שאתם מבזבזים יותר מדי זמן על פעולות שבקלות יכולות להפוך לפקודות אוטומטיות, כדאי שתכירו את אקסל VBA (Visual Basic for Applications) – שפת תכנות המאפשרת לפתח פקודות מותאמות אישית והופכת את החיים באקסל להרבה יותר יעילים ונוחים.