כיצד ליצור ולהשתמש במודולי כיתת VBA? (דוגמאות)

מודולי VBA של Excel

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

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

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

מהו מודול הכיתה?

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

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

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

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

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

ביחס לתכונות המכונה, אנו יכולים להתחיל, אנו יכולים לכבות, אנו יכולים להגביר את מהירות המנוע, אנו יכולים להשהות וכו '... ואלה נקראים "שיטות".

דוגמא

אתה יכול להוריד תבנית כיתת VBA זו כאן - תבנית כיתת VBA

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

כעת אנו יכולים לראות מודול כיתתי כמו להלן.

זה נראה דומה לזה שיש לנו לעיל כמודול רגיל. שנה את שם מודול הכיתה בחלון המאפיינים. כדי לראות חלון מאפיינים לחץ על מקש F4 .

כעת הכריז על המשתנה כמחרוזת.

מבלי ליצור תת-נוהל ב- vba עלינו להכריז על המשתנה וגם הפעם באמצעות המילה "ציבורי" ולא "עמום".

כעת אנו יכולים לגשת למשתנה זה בכל מודול ומודול כיתה.

עכשיו עבור למודול רגיל ושם את המשתנה.

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

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

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

כעת הציג את ערך המשתנה שהוקצה בתיבת ההודעה VBA.

קוד:

 תת Class_Example () Dim Dim כמו חדש CM k.MyValue = "שלום" MsgBox k.MyValue סוף משנה 

הפעל קוד זה באמצעות מקש F5 או באופן ידני כדי להציג את התוצאה.

מודול כיתה לעומת אובייקטים

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

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

עכשיו קשר את זה למודול הכיתה שלנו.

  • כאן מודול הכיתה הוא עיצוב. וזה אובייקט הוא העותק נוצר על ידי העיצוב.
  • דבר מעניין נוסף הוא שעלינו להשתמש במילה "חדש" כדי ליצור אובייקט ממודול הכיתה.

להלן דוגמה לאותו דבר.

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

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

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