רוצה להפוך משימות שחוזרות על עצמן לאוטומטיות ב-Excel VBA? למד כיצד להשתמש בלולאת Do-While כדי לבצע קבוצה של פעולות שוב ושוב עד למילוי התנאי.
לולאות הן חלק בלתי נפרד מכל שפת קידוד, ותוכלו לבצע אוטומציה של הרבה משימות שחוזרות על עצמן, על ידי שימוש במגוון לולאות, בהתאם לשפה הקיימת. ה-VBA של Excel אינו שונה מהאחרים, מכיוון שהוא מציע סדרה של אפשרויות לולאה, כל אחת משרתת מטרה אחרת.
אתה יכול להשתמש בלולאות אלה על ידי הגדרת נקודות ההתחלה והסיום, התנאים והפרמטרים. לולאה בולטת אחת כזו בתוך VBA היא לולאת ה-do-while, שבה אתה יכול להשתמש כדי לעבוד עם אוטומציה של נתונים. הנה איך להשתמש בלולאת ה-Do-While של Excel VBA, מתודולוגיית לולאה חיונית מתמיד, שיכולה לפשט את המשימות הידניות שלך במידה רבה.
מהי לולאת ה-Do-While ב-Excel VBA?
לולאת העשה תוך כדי די פשוטה; אתה יכול להשתמש בלולאה זו כדי לבצע את ההצעות שלך אם אתה רוצה לייצר פלט רצוי על בסיס תנאי ספציפי. הלולאה מופעלת עד שהתנאי (ים) המוגדרים הוא True. ברגע שהתוכנית נתקלת בערך False, הלולאה מסתיימת ומדפיסה את התוצאות בתאים המיועדים לכך.
אתה יכול להשתמש בלולאת עשה תוך כדי בשלבים שונים ועם קריטריונים שונים; אתה יכול אפילו להשתמש במספר לולאות בתוך הלולאה החיצונית הראשית כדי לשפר את השימוש בה. בתור מתחיל, אתה צריך להתייחס לפרט
מדריכי תכנות VBA כדי לקדם את הידע והכישורים שלך בתחום זה.התחביר של Do-While Loop ב-Excel VBA
ללולאת העשה בזמן יש מבנה מוגדר מראש, שעליכם לעקוב אחריו, כדי להבטיח שהיא תפעל בצורה חלקה ללא שגיאות. להלן התחביר לעיון:
לַעֲשׂוֹתבזמן [תנאי_הפניה]
[הצהרות קריטריונים]
לוּלָאָה
הלולאה מתחילה במילת המפתח עשה תוך כדי, ואחריה הפניות ההתחלה והסיום. החלק הראשון של התחביר שולט בכל הלולאה. לאחר מכן, עליך להגדיר את ההצהרות שיבוצעו בכל פעם שהלולאה פועלת.
לבסוף, ברגע שתנאי הלולאה מקבל ערך False, מילת המפתח של הלולאה מופעלת ויוצאת מהלולאה. זהו מבנה כולל; אתה יכול לחדד אותו לביצוע פעולות שונות. הנה כמה דוגמאות כדי להכיר את העבודה של לולאת עשה תוך כדי.
כתיבת קוד ה-Do-While Loop הראשון שלך
נניח שאתה רוצה להציג את הכפולות של שניים בעמודה A. התנאי הוא להדפיס את המספרים עד שהמונה יגיע ל-20.
כדי לעשות זאת, נווט אל הכרטיסייה מפתחים ב-Excel שלך ופתח את עורך הקידוד; לחילופין, לחץ Alt + F11 כדי לפתוח את עורך הקידוד ישירות. בתוך חלון עורך הקוד, לחץ על לְהַכנִיס לשונית ולהוסיף מודול חדש.
עליך לכתוב את כל הקוד בתוך חלון המודול הזה. הוסף את הקוד הבא בתוך המודול:
תת dowhileloop()
עמום א כפי ש מספר שלם
a = 1
לַעֲשׂוֹתבזמן a <= 10
תאים (א, 1) = 2 * א
a = a + 1
לוּלָאָה
סוֹף תַת
הקוד מוסבר
להלן פירוט של הקוד שיעזור לך לשלוט ביסודות:
- השתמש בשגרת משנה: כדי להתחיל לכתוב את הקוד ב-Excel VBA, צור מעטפת חיצונית עם פונקציית תת שגרתית (Sub). תן לזה שם בעל משמעות, המהדהד את מטרת הקוד. בדוגמה זו, אתה יכול להשתמש בשם dowhileloop, ואחריו ().
- הגדר סוגי נתונים: יש להשתמש בפונקציית הממד (עמום) כדי להכריז על סוגי הנתונים המשתנים. על ידי הצהרת סוג הנתונים, תוכל להפוך את הקוד שלך ליעיל ולשפר את מהירות הביצוע. במקרה זה, המשתנה א מאחסן ערכי מספר שלם, אז השתמש בסוג הנתונים של מספר שלם כדי להגדיר אותו. אתה יכול לאחסן את מספר השורה ההתחלתית בתוך משתנה זה, כדי להכריז על נקודת הנתונים ההתחלתית של לולאת ה-do-while שלך.
- הגדר מצב(ים): עכשיו, הגיע הזמן להעביר את התנאי לשלוט בלולאת העשה תוך כדי. אתה יכול להשתמש ב עושה תוך כדי מילות מפתח, ולאחר מכן התנאי. מכיוון שאתה רוצה להריץ את הלולאה עשר פעמים, אתה משתמש בתנאי a < = 10.
- העבר את ההצהרות הניתנות להפעלה: חשוב לך לדעת מה ההבדל בין ה פונקציית תאים ופונקציית Range ב-VBA. פונקציית התאים משתמשת בהפניות לשורות ולעמודות בתוך VBA. לדוגמה, במהלך האיטרציה הראשונה, כאשר הערך של a =1, נוסחת התא היא (1,1). בזיכרון של VBA, זה מתורגם לתא A1. בכל פעם שהלולאה מופעלת, הערך של המשתנה המוגדר עולה, וההפניה עוברת לתא הזמין הבא.
- הגדל את המשתנה שלך: אתה יכול לעבור a = a + 1 הצהרה כדי להגדיל את ערכי התא. זה מעביר את הלולאה לחלק הבא של התנאי; הלולאה ממשיכה לרוץ עד שהתנאי יקבל ערך False.
- צא ממצב הלולאה: ברגע שהתנאי הוא False, הלולאה יוצאת עם מילת המפתח Loop, ולבסוף, היא יוצאת מתת-השגרה עם מילת המפתח End Sub.
- ביצוע הקוד: מכיוון שהקוד מוכן, פשוט לחץ על מפתח F5 או כפתור ההפעלה הירוק בשורת התפריטים העליונה כדי להפעיל את הקוד.
התוצאה הסופית מציגה רשימה של מספרים מ-2-20 בעמודה A.
שימוש בעמודה מאוכלסת מראש כמצב לולאה
כעת, לאחר שהבנת את התחביר ואת הניואנסים של בניית מבנה בסיסי, מדוע שלא תכתוב קוד נוסף כדי להדפיס מספרים דומים על סמך קריטריונים קיימים? לדוגמה, אתה יכול ליצור תנאי לולאה שבוחר את הרמז שלו מעמודה A ומדפיס את הפלט בעמודה B.
בהתבסס על סך התאים המאוכלסים בעמודה A, תוכל להדפיס כפולות של שניים בעמודה B. הלולאה מריץ את הספירה הכוללת של עמודה A של תאים מאוכלסים מראש. מכיוון שערך השורה ההתחלתית הוא אחד (a =1), ערך הסיום הוא דינמי ומחושב אוטומטית על ידי לולאת ה-do-while.
באמצעות ערך השורה שלו, הקוד עובר בלולאה דרך כל תא בעמודה A ומכפיל את המספר ב-2. הפלט מוצג בעמודה B.
אם יש יותר מעשרה ערכים בעמודה A, הלולאה תפעל עד שתתקל בערך ריק בעמודה הראשונה. באופן דומה, אתה יכול לכתוב תנאים מורכבים עוד יותר בתוך לולאת העשה תוך כדי שימוש בו כדי לבדוק תנאים ולהציג פלט לפי הצורך.
שימוש בהצהרת IF בתוך לולאת Do-While
כמו לולאות מקוננות, אתה יכול להשתמש במשפט IF בתוך לולאת Do-While, כדי להוסיף עוד שכבה של תנאי. במקרה כזה, לולאת ה-do-while מפעילה את כל הלולאה עד שהתנאי הוא False, והמשפט ה-IF הפנימי מופעלת בכל פעם שהלולאה פועלת.
בדוגמה שלהלן, לולאת העשה תוך כדי מחזוריות בכל תא בעמודה A, עד שהיא נתקלת בתא ריק. לאחר מכן, משפט ה-IF בודק את הערך של כל תא בעמודה A ומדפיס את הפלט בעמודה B. ברגע שהלולאה החיצונית נתקלת בתא ריק בעמודה A, הלולאה נעצרת ויוצאת מתת-השגרה.
הפלט הוא כדלקמן:
עד שהערך בעמודה A קטן מחמש, הערך המתקבל בעמודה B הוא חמש. ב-A6, מכיוון שערך התא גדול מחמש, הפלט המתקבל הוא שבע, וזה מסונכרן עם תנאי ה-IF.
פירוק הפונקציות הרב-צדדיות של ה-VBA
Excel ו-VBA מהווים שילוב נוח מאוד לביצוע ניתוח נתונים מתקדם. אפילו ללא VBA, אתה יכול להשתמש בפונקציות לוגיות שונות של Excel כדי לבצע משימות מסובכות, המדגימות את כישורי התכנות שלך.
אם אתה מעוניין בניתוח נתונים ומשתמש ב-Excel בפעילויות הרגילות שלך, אתה יכול להפיק תועלת רבה מהשימוש בפונקציות הלוגיות הרב-גוניות של Excel.