משתנה VBA | כיצד להכריז על סוג נתונים משתנה ב- Excel VBA?

סוג נתונים משתנה ב- Excel VBA

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

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

לדוגמא עיין בקוד שלהלן.

בקוד הנ"ל הצהרתי על המשתנה כ- "IntegerNumber" והקצתי את סוג הנתונים כ- "Integer" .

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

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

כדי להתגבר על מגבלה זו יש לנו סוג נתונים אוניברסלי "וריאנט". מאמר זה יציג בפניך את המדריך המלא מסוג נתונים של וריאנט.

כיצד להכריז על סוג נתונים משתנה?

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

קוד:

 Sub Variant_Example1 () עמעום את מספר המספר שלי כ- Sub Variant End 

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

להלן ההפגנה של אותו דבר.

קוד:

 משנה משתנה_דוגמא 1 () עמעום חודש שם כווריאנט עמעון MyDate כמו וריאנט עמעום מספר מספר כמו וריאנט עמעון MyName כווריאנט MonthName = "ינואר" MyDate = "24-04-2019" MyNumber = 4563 MyName = "שמי Excel VBA" משנה משנה 

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

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

משתנה VBA אינו דורש דרך מפורשת

ההליך הכללי להכריז על משתנה VBA הוא לקרוא בשם המשתנה ואז להקצות לו את סוג הנתונים. להלן דוגמה לאותו דבר.

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

קוד:

 תת-וריאנט_דוגמה 1 () עמעום משנה משנה מסוף 

בקוד שלעיל, שמתי את המשתנה כ- "MyNumber" אך לאחר שמות המשתנה לא הקצתי לו שום סוג של נתונים.

השארתי את החלק [שם סוג הנתונים] מכיוון שהרגע שבו אנו מתעלמים מחלק ההקצאה של סוג הנתונים משתנה באופן קבוע למשתנה.

דברים שיש לזכור

למרות שסוג הנתונים "וריאנט" הוא גמיש עם נתונים שאנחנו הולכים לאחסן זה לא סוג הנתונים הפופולרי. נראה מוזר אבל אמיתי לחלוטין. אלא אם כן יש סיבה ספציפית להשתמש באנשים נמנע משימוש בסוג נתונים זה. להלן כמה מהסיבות להימנעות משימוש ב- Variant.

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