/ / מערך דינמי ב- Excel VBA

מערך דינמי ב- Excel VBA

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

הוסף מספר כלשהו לעמודה A.

מערך דינמי ב- Excel VBA

הצב לחצן פקודה בגליון העבודה והוסף את שורות הקוד הבאות:

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

Dim numbers() As Integer, size As Integer, i As Integer

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

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

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

3. עכשיו אנחנו יודעים את הגודל של המערך ואנחנו יכולים redimension זה. הוסף את שורת הקוד הבאה:

ReDim numbers(size)

4. לאחר מכן, אנחנו אתחול כל אלמנט של המערך. אנו משתמשים בלולאה.

For i = 1 To size
    numbers(i) = Cells(i, 1).Value
Next i

5. אנו מציגים את האלמנט האחרון במערך באמצעות MsgBox.

MsgBox numbers(size)

6. צא מעורך Visual Basic ולחץ על לחצן הפקודה בגיליון.

תוצאה:

אלמנט אחרון של המערך

7. עכשיו כדי לראות בבירור למה זה נקרא מערך דינמי, להוסיף מספר בעמודה A.

הוסף מספר

8. לחץ שוב על לחצן הפקודה.

תוצאה מערך דינמי

מסקנה: Excel VBA שינה באופן אוטומטי את הגודל של מערך דינמי זה.

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

ReDim numbers(3)
MsgBox numbers(1)

תוצאה:

ללא שימור

המערך ריק.

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

ReDim Preserve numbers(3)
MsgBox numbers(1)

תוצאה:

עם שימור

קרא גם: