קורס בינה מלאכותית – RB30-09 : עם עבודה עם אקסל חלק VBA 2 , ואנימציה
חלק א :
חומר רקע על EXCEL VBA
VBA באקסל מתאים כאשר יש לך קובץ שהוא לא רק טבלה, אלא ממש מערכת קטנה לניהול עבודה.
בשביל להוסיף VBA נבצע את השלבים הבאים :

בשביל להוסיף VBA באקסל נבצע את השלבים הבאים:
- נפתח את Excel.
- נלחץ על קובץ.
- נבחר אפשרויות.
- נבחר התאמה אישית של רצועת הכלים.
- בצד ימין נסמן את האפשרות מפתחים.
- נלחץ אישור.
- עכשיו תופיע לשונית חדשה בשם מפתחים.
- נלחץ על מפתחים.
- נלחץ על Visual Basic כדי לפתוח את עורך ה־VBA.
- בעורך ה־VBA נבחר:
הוספה → מודול
- נכתוב או נדביק את קוד ה־VBA בתוך המודול.
- נשמור את הקובץ כסוג:
חוברת עבודה זמינה למאקרו של Excel (*.xlsm)
חשוב:
קובץ Excel רגיל מסוג .xlsx לא שומר קוד VBA.
כדי שהקוד יישמר, חייבים לשמור את הקובץ כ־.xlsm.
חשוב:
יש לשמור את הקובץ מסוג:
.xlsm
כדי שקוד ה־VBA, המאקרו והכפתורים יעבדו ויישמרו בתוך קובץ האקסל.
יש לשמור את הקובץ כקובץ Excel מסוג Macro-Enabled Workbook עם סיומת .xlsm.
לא כ־.xlsx.

לדוגמה:
יש לך טופס פרטי עובד באקסל.
המשתמש ממלא:
- שם עובד
- מספר עובד
- מחלקה
- תפקיד
- מנהל ישיר
- תאריך תחילת עבודה
- שכר
- סטטוס עובד
- הערות
חלק מהשדות נבחרים מתוך רשימות נפתחות כמו מחלקה, תפקיד או סטטוס.
במצב כזה VBA יכול לעזור לבדוק שהכול תקין לפני שמירה, הדפסה או יצירת דוח.
דוגמה 1: בדיקה לפני שמירה
שמים את הקוד בתוך: ThisWorkbook ניראה שלבים בהמשך שלבים ….
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ' הקוד הזה רץ לפני שמירת הקובץ If Sheet1.Range("B2").Value = "" Then ' בודק אם התא B2 ריק MsgBox "חובה למלא שם עובד" ' מציג הודעה למשתמש Cancel = True ' מבטל את השמירה Exit Sub ' יוצא מהקוד End If ' סוף הבדיקה End Sub ' סוף האירוע |
דוגמה 2: בדיקה לפני הדפסה
שמים את הקוד בתוך: ThisWorkbook ניראה שלבים בהמשך שלבים ….
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Private Sub Workbook_BeforePrint(Cancel As Boolean) ' הקוד הזה רץ לפני הדפסה If Sheet1.Range("B2").Value = "" Then ' בודק אם שם העובד חסר MsgBox "אי אפשר להדפיס. חסר שם עובד." ' מציג הודעת שגיאה Cancel = True ' מבטל את ההדפסה End If ' סוף הבדיקה End Sub ' סוף האירוע |