/ / Excel VBA לולאה

לולאה של

לולאה יחידה | לולאה כפולה | טריפל לולאה | לעשות בזמן לולאה

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

לולאה יחידה

אתה יכול להשתמש בלולאה אחת כדי לולאה דרך טווח חד מימדי של תאים.

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

Dim i As Integer

For i = 1 To 6
    Cells(i, 1).Value = 100
Next i

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

לולאה בודדת ב - VBA של

הסבר: שורות הקוד בין For ו- Next יבוצעו שש פעמים. עבור i = 1, Excel VBA מזין את הערך 100 לתא בצומת של שורה 1 ועמוד 1. כאשר Excel VBA מגיע ל- i הבא, הוא מגדיל i עם 1 וקופץ בחזרה להצהרה For. עבור i = 2, Excel VBA מזין את הערך 100 בתא בצומת של שורה 2 ועמודה 1 וכו '.

הערה: מומלץ להתאמן תמיד (לשונית) את הקוד בין המילים עבור ולאחר מכן. זה עושה את הקוד שלך יותר קל לקרוא.

לולאה כפולה

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

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

Dim i As Integer, j As Integer

For i = 1 To 6
    For j = 1 To 2
        Cells(i, j).Value = 100
    Next j
Next i

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

לולאה כפולה ב - VBA של

הסבר: עבור i = 1 ו- j = 1, Excel VBA מזין את הערך 100 בתא בצומת של שורה 1 ועמודה 1. כאשר Excel VBA מגיע ל- j הבא, הוא מגדיל j עם 1 וקופץ חזרה להצהרה J. עבור i = 1 ו- j = 2, Excel VBA מזין את הערך 100 בתא בצומת של שורה 1 ועמודה 2. לאחר מכן, Excel VBA מתעלם מ- j מכיוון ש- j פועל רק מ- 1 עד 2. כאשר Excel VBA מגיע ל- i , זה מגדיל אני עם 1 וקופץ בחזרה את ההצהרה אני. עבור i = 2 ו- j = 1, Excel VBA מזין את הערך 100 בתא בצומת של שורה 2 ועמודה 1 וכו '.

טריפל לולאה

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

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

Dim c As Integer, i As Integer, j As Integer

For c = 1 To 3
    For i = 1 To 6
        For j = 1 To 2
            Worksheets(c).Cells(i, j).Value = 100
        Next j
    Next i
Next c

הסבר: השינוי היחיד שבוצע בהשוואה לקוד של הלולאה הכפולה הוא שהוספנו לולאה אחת נוספת והוספנו גליונות עבודה (c). מול התאים כדי לקבל את טווח דו מימדי בגיליון הראשון עבור c = 1, את הגיליון השני עבור c = 2 ואת הגיליון השלישי עבור c = 3. הורד את הקובץ Excel כדי לראות את התוצאה.

לעשות בזמן לולאה

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

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

Dim i As Integer
i = 1

Do While i < 6
    Cells(i, 1).Value = 20
    i = i + 1
Loop

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

לעשות בזמן לולאה

הסבר: כל עוד אני נמוך מ -6, Excel VBA מזין את הערך 20 לתא בצומת של שורה i ועמוד 1 ומרווחים i ב- 1. ב- Excel VBA (ובשפות תכנות אחרות), הסמל "=" פירושו הופך. זה לא אומר שווים. אז אני = i = 1 אומר אני הופך אני + 1. במילים אחרות: לקחת את הערך הנוכחי של i ולהוסיף 1 אליו. לדוגמה, אם i = 1, i הופך 1 + 1 = 2. כתוצאה מכך, הערך 20 יוצב בעמודה A חמש פעמים (לא שש כי Excel VBA מפסיק כאשר אני שווה 6).

2. הזן מספר מספרים בעמודה A.

כל מספר שורות

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

Dim i As Integer
i = 1

Do While Cells(i, 1).Value <> ""
    Cells(i, 2).Value = Cells(i, 1).Value + 10
    i = i + 1
Loop

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

מתקדם האם לולאה

הסבר: כל עוד תאים (i, 1).הערך אינו ריק (<> פירושו אינו שווה ל), ה- VBA של Excel מזין את הערך בתא בצומת של שורה i ועמוד 2, כלומר 10 גבוה יותר מהערך בתא בצומת של שורה i ועמוד 1 Excel VBA מפסיק כאשר אני שווה 7 כי תאים (7, 1). ערך ריק. זוהי דרך מצוינת לולאה דרך כל מספר שורות על גליון עבודה.

קרא גם: