מערכי VBA של Excel | רשימת 5 סוגי המערכים המובילים (עם דוגמאות)

מערכי VBA של Excel

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

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

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

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

הֶסבֵּר

מערכי עבודה על "הכלל המתמטי של המטריצה", כלומר הם מזהים את הנתונים לפי מיקומם בלבד. נניח שאם עלינו לגרום ל- VBA להבין שאנחנו צריכים "20" בתא "B3", עלינו לכתוב את קוד המיקום כ- (3, 2) כאשר הערך הראשון מייצג את מיקום השורה והערך השני מייצג מספר העמודה. בעולם ה- Excel קוד זה של מיקומים נקרא "גבול עליון" ו"גבול תחתון ". כברירת מחדל, המיקום ב- Excel מתחיל מאחד ולא מאפס, לכן Excel רואה את "A1" כשורה מספר 0 ולא שורה מספר 1.

באופן דומה, העמודות מתחילות מאפס ולא מאחת.

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

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

יש לתת נתונים אלה בזה אחר זה כדי להצטיין בדרכים הבאות.

לאחר שמירת הנתונים במערכים אלה הם מוכנים לשימוש כמשתנה בקידוד ה- VBA.

רשימת 5 סוגי המערכים המובילים

  1. מערכים סטטיים
  2. מערך דינמי
  3. מערך אחד ממדי
  4. מערך דו מימדי
  5. מערך רב מימדי

בואו נראה כל אחד מהם בפירוט.

מספר 1 - מערכים סטטיים

מערך שיש בו ספירת ערך מוגדרת מראש שניתן לאחסן בו.

# 2 - מערך דינמי

מערך עם ספירת ערך לא מוגדרת מראש שהיא יכולה להתמודד איתה.

# 3 - מערך חד מימדי

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

# 4 - מערך דו מימדי

מערך שיכול לאחסן ערך מהשורות והעמודות.

# 5 - מערך רב מימדי

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

אתה יכול להוריד מערכים אלה בתבנית Excel VBA כאן - מערכים בתבנית Excel VBA

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

להלן כמה מהדוגמאות אך לפני שנלך לדוגמאות נלמד לפתוח את עורך VBA באמצעות מקש קיצור

זה יפתח את עורך ה- VBA, משם עלינו להזין את הקוד ב"גליון עבודה זה ".

דוגמה מס '1

בחר את סוג המערך הרצוי, האם זה צריך להיות מערך דינמי או סטטי?

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

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

דוגמה מס '2

הגדר את העמודות והשורות שברצונך לאחסן במערך.

אם הזנו את "1" בסוגר זה אומר שהמערך יכול להחזיק ערך של 2 שורות כאשר ספירת ה- Excel מתחילה מאפס.

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

כאן "1 עד 2" פירושו ששתי שורות ו- "1 עד 3" פירושן שלוש עמודות.

כאן שינינו את הכלל של אקסל ספירת שורות וביקשנו ממנו לספור מ- "1" ולא מאפס.

דוגמה מס '3

קלט הנתונים במערך.

הנתונים חייבים להיכנס לתאים בצורה חכמה. כאן יש להזין את הנתונים בצורה (I, j) כאשר "I" פירושו השורה ו- "J" פירושו העמודה.

אז "a (1,1") פירושו התא "A1"

דוגמה מס '4

סוגרים את הקוד.

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

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

  • כברירת מחדל, Excel יספור את השורות החל מאפס. פירוש הדבר ש- "2" במקום "I" פירושו 3 שורות ולא 2 שורות. אותו דבר חל על "J".
  • יש להתחיל את הנתונים שיש להזין עבור המערך מ (0, 0) שהם מהשורה הראשונה והעמודה הראשונה.
  • במקרה שאנו משתמשים במערכים הדינמיים אז יהיה צורך בפונקציה של "VBA REDIM" כדי להגדיר את מספר השורות והעמודות הנדרשות לשינון.
  • במקרה של יצירת מערך דו מימדי אז עלינו להשתמש ב- "Integer" כממד.
  • יש לשמור את קובץ ה- Excel בגרסה שהיא "תואמת מאקרו" אחרת הקידוד שעשינו ב- VBA ייעלם ולא יפעל בפעם הבאה.