התקשרו אלינו: 052-2928949
ימים א'-ה' בין השעות 9:00-17:00

התקשרו אלינו: 052-2928949 א-ה 9:00-17:00

לולאת For Next

VBA Tip

לולאת For Next

VBA Tip

לולאות FOR

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

מבנה הלולאה:

For counter = X To Y

      פקודות לביצוע

Next counter

דוגמה:

 

For i = 1 To 10
     MsgBox (i)
Next i

בלולאה שלעיל נעשה שימוש במשתנה i אשר מקבל ערכים בין 1 ל-10
בכל פעם שהמשתנה מקבל ערך, מוצגת תיבת הודעה עם ערך המשתנה.
כברירת מחדל גדל מונה הלולאה ב-1 בכל פעם, אולם ניתן לקבוע את מספר ה"פסיעות" על ידי שימוש בפקודה Step:

For i = 2 To 10 Step 2
     MsgBox (i)
Next i

דוגמה נוספת:

For i = 10 To 2 Step -2
     MsgBox (i)
Next i

דוגמה ליצירת לוח הכפל באמצעות לולאת For:

For i = 1 To 10
     For j = 1 To 10
          Cells(i, j) = i * j
     Next j
Next i

הסבר:
בקוד זה שני משתנים – i ו- j אשר מקבלים את הערכים מ-1 ועד 10.
כמו כן, קיימות שתי לולאות for – פנימית וחיצונית.
בכל פעם שמונה הלולאה החיצונית i גדל ב-1,
רצה הלולאה הפנימית (j) עשר פעמים ומזינה לתוך התא שמיקומו כערך המשתנים i ו-j את מכפלתם.

 

המלצה:
הריצו את הקוד הבא שלב אחרי שלב וצפו בחלונית Watch אחר השתנות הערכים.
שימו לב לכך שאין צורך לבחור את התא על ידי שימוש בפקודה select כדי להזין לתוכו ערך!
(למעשה, אחד ההבדלים בין תכניתן מנוסה לתכניתן טירון הוא במידת השימוש בפקודה select…)

טיפ:

ניתן להשתמש במשתנים לצורך קביעת ערכי ההתחלה והסוף:

ShtCnt = ActiveWorkbook.Sheets.Count
For i = 1 To ShtCnt
     Sheets(i).Range("a1").Value = Sheets(i).Name
Next i

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

רוצים ללמוד על לולאת DO? לחצו כאן

דילוג לתוכן