VBA DoEvents | כיצד ומתי להשתמש בפונקציית DoEvents?

פונקציית DoBA של Excel VBA

בעזרת VBA DoEvents , אנו יכולים לגרום לקוד לרוץ ברקע ובמקביל מאפשר לנו לעבוד גם עם Excel ותוכנות יישומים אחרות. DoEvents לא רק מאפשר לנו לעבוד עם תוכנות אחרות אלא שאנחנו יכולים גם להפריע להפעלת הקוד.

פונקציית DoEvents מעבירה שליטה למערכת ההפעלה של המחשב עליו אנו עובדים.

כיצד להשתמש בפונקציה DoEvents?

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

אתה יכול להוריד תבנית Excel VBA DoEvents כאן - תבנית VBA DoEvents Excel

לדוגמא עיין בקוד שלהלן.

קוד:

 תת DoEvents_Example1 () Dim אני כל זמן לטווח i = 1 עד 100000 ("A1"). ערך = i הבא i סוף משנה 

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

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

ניתן להשיג זאת על ידי הוספת פונקציית DoEvents של VBA .

קוד:

 תת DoEvents_Example1 () Dim אני כל עוד לטווח i = 1 עד 100000 ("A1"). ערך = i DoEvents הבא i סוף משנה 

ברגע שנוסיף את הפונקציה DoEvents בקוד אנו יכולים לגשת לגליון העבודה של Excel.

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

קוטע את פעולת הקוד

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

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