כללי בסיס
- תוכנת ה-Excel מכירה בתאריכים החל מה-01/01/1900.
- תאריכים ושעות מאוחסנים כמספרים עשרוניים. המספר 1 מייצג את ה-01/01/1900 וכל יום נוסף במניין הימים מיוצג ע"י המספר העוקב. למשל, המספר 30 מייצג את ה-30/01/1900 והמספר 3.5 מייצג את ה-03/01/1900 בשעה 12:00 בצהריים (מחצית היום).
- בשל היותם של תאריכים סוג של עיצוב מספרים (ההמרה לתאריך או למספר יכולה להתבצע בחלונית הדו-שיח עיצוב תאים) ניתן לשלב אותם בחישובים. למשל הנוסחה 05/04/2026 + 3 תחזיר את התוצאה 08/04/2026, כי כאמור כל מספר מייצג תוספת של מניין בימין, ולכן התווספו שלושה ימים.
- כדי להזין בקוד ה-VBA תאריך בפורמט פשוט ולא כמספר, יש לתחום את ביטוי התאריך או השעה באמצעות הסימן #. למשל:
Date_VAR = #03/09/2020#
Time_VAR = #08:30:25 PM#
- להכרזה על משתנה התואם לתאריך או שעה, יש לבחור בסוג Date. למשל:
Dim {Variable} as Date
פקודות נפוצות
- הפקודה Date ברצף הקוד (בשונה מסוג משתנה בהכרזה) מחזירה את התאריך הנוכחי של היום, בדומה לפונקציה Today() בתוכנה.
- הפקודה Now ברצף הקוד מחזירה את השעה הנוכחית, בדומה לפונקציה Now() בתוכנה.
- קוד ה-VBA כולל פונקציות פנימיות המאפשרות לבצע חישובים. פונקציות אלו אינן קשורות לסל הפונקציות החישוביות הקיימות בתוכנה, שכאמור, כדי לעשות בהן שימוש צריך לקרוא למאפיין WorksheetFunction של האובייקט Application (ר' עמ' 36). פונקציות נפוצות לעבודה עם תאריכים ושעות:
- Day() – לחילוץ היום מתוך תאריך נתון. למשל, הפקודה Day(03/09/2028) תחזיר 3.
- Month() – לחילוץ התאריך מתוך תאריך נתון. למשל, הפקודה Month(03/09/2028) תחזיר 9.
- Year() – לחילוץ השנה מתוך תאריך נתון. למשל, הפקודה Year(03/09/2028) תחזיר 2028.
הדוגמה הבאה מציגה קוד שבו יתווסף גיליון חדש אחרי הגיליון הפעיל. השם של הגיליון החדש יהיה התאריך הנוכחי: