השוואה בין התאריכים ב- VBA
קביעת סוג
אין צורך להמיר תאריכים לסוג הנתונים "תאריך" כדי לבצע השוואות אם הם כבר נמצאים בסוג זה. אתה יכול לדעת אם משתנה הוא "תאריך" באמצעות כמה שיטות. עיין בסעיף ההצהרות בתחילת הליך VBA. סעיף זה הוא החלק שבו אתה מכריז על כל המשתנים באמצעות מילת המפתח "עמום". משתני התאריך שלך יוכרזו בהוראות כדלקמן: "Dim d1 as Date". דרך נוספת לדעת אם המשתנה שלך הוא מסוג "תאריך" היא לבדוק את המטלות שבוצעו למשתנה זה. הקצאות אלה ישתמשו בתו "#", המציין סוג "תאריך". לדוגמה, ההוראה הבאה מקצה את התאריך "12/1/2001" למשתנה "D1" שהוא "תאריך".
D1 = # 12/1/2001 #
כיצד להמיר את סוג הנתונים "תאריך"
כדי להשוות תאריכים ב- VBA עליך תחילה לשמור שני תאריכים מאוחסנים ב"תאריך ", שהוא אחד מסוגי הערכים השונים ב- VBA. סוג "תאריך" הוא מופע מיוחד של כל סוג הנתונים, ולכן השוואת התאריכים היא בעיקרה השוואה בין מספרים שלמים. אם התאריכים שלך עדיין לא "תאריך" תצטרך להמיר אותם. ניתן לעשות זאת באמצעות הפונקציה CDate. לדוגמה, בצע את ההוראה הבאה כדי להמיר את המחרוזת "12/1/2001" לסוג "תאריך":
D1 = CDate ("12/1/2001")
ההשוואה
אם אתה רוצה לבדוק אם התאריך במשתנה "תאריך" מתרחש לפני פריט אחר, השתמש בסמל 'פחות מ' ', כפי שמוצג בדוגמה הבאה:
אם (d1 <d2)
השתמש בסמל 'גדול מ' 'כדי לבדוק אם תאריך אחד מתרחש אחר, והשתמש בסימן' שווה 'כדי לדעת אם הערכים של שני המשתנים מתייחסים לאותו תאריך.
תוכנית לדוגמה
כתוב תוכנית מדגם הממיר ומשווה תאריכים, כך שתוכל להתייחס לקוד בעת כתיבת תוכניות VBA מורכבות יותר לביצוע ההליך. פתח את סביבת התכנות בכל אחד מיישומי Office על-ידי לחיצה על הלחצן "Visual Basic" בכרטיסייה "מפתח". לאחר מכן הדבק את התוכנית הבאה בחלון המרכזי של הסביבה. הוא משתמש בפונקציה "CDate" כדי להמיר מחרוזות לתאריכים ועושה שלוש השוואות שונות בין שניים מהם. הפעל את התוכנית על ידי לחיצה על "F5" ולבחון את הפלט על ידי סימון חלון "מיידי".
(D1 = CDate ("12/1/2002") אם (d1 d2) אז Debug.Print "תאריך 1 מתרחש מאוחר יותר מאשר (d1 = CDate (" 12/12/2002 ") אשר 2. אם (d1 = d2) אז Debug.Print "תאריך 1 הוא זהה לתאריך 2." סוף תת