טיפול בשגיאות ב- Excel VBA - פקודות מאקרו קלות של Excel

תוכן העניינים

להלן נבחן שתי תוכניות ב Excel VBA. תוכנית אחת פשוט מתעלם משגיאות. התוכנית הנוספת ממשיכה את הביצוע בקו שצוין עם פגיעה בשגיאה.

מַצָב:

שתי התוכניות מחשבות את השורש הריבועי של המספרים.

שורש מרובע 1

הוסף את שורות הקוד הבאות ללחצן הפקודה 'שורש מרובע 1'.

1. ראשית, אנו מכריזים על שני אובייקטים של טווח. אנו קוראים לאובייקטים של טווח rng ותא.

Dim rng As Range, cell As Range

2. אנו מאתחלים את אובייקט הטווח rng עם הטווח הנבחר.

הגדר rng = בחירה

3. אנו רוצים לחשב את השורש הריבועי של כל תא בטווח שנבחר באופן אקראי (טווח זה יכול להיות בכל גודל). ב- Excel VBA, תוכל להשתמש בלולאה 'לכל כל הבא' לשם כך. הוסף את שורות הקוד הבאות:

עבור כל תא ב rng
התא הבא

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

4. הוסף את שורת הקוד הבאה ללולאה.

על שגיאה המשך הבא

5. לאחר מכן, אנו מחשבים את השורש הריבועי של ערך. ב- Excel VBA, אנו יכולים להשתמש בפונקציית Sqr לשם כך. הוסף את שורת הקוד הבאה ללולאה.

cell.Value = Sqr (cell.Value)

6. צא מעורך Visual Basic ובדוק את התוכנית.

תוֹצָאָה:

מסקנה: Excel VBA התעלם מתאים המכילים ערכים לא חוקיים כגון מספרים שליליים וטקסט. ללא שימוש בהצהרת 'On Error Resume Next' תקבל שתי שגיאות. היזהר להשתמש רק בהצהרת 'בשגיאה המשך הבא' כאשר אתה בטוח שהתעלמות משגיאות היא תקינה.

שורש מרובע 2

הוסף את שורות הקוד הבאות ללחצן הפקודה 'שורש מרובע 2'.

1. אותה תוכנית כמו Square Root 1 אך החלף את 'On Resume Resume Next' ב:

על שגיאה GoTo InvalidValue:

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

2. מחוץ ללולאה For Every Next, הוסף תחילה את שורת הקוד הבאה:

יציאה משנה

ללא שורה זו, שאר הקוד (קוד השגיאה) יבוצע, גם אם אין שגיאה!

3. Excel VBA ממשיך בביצוע בשורה המתחילה ב- 'InvalidValue:' עם פגיעה בשגיאה (אל תשכח את המעי הגס). הוסף את שורת הקוד הבאה:

ערך לא תקין:

4. אנו שומרים על קוד השגיאה שלנו פשוט לעת עתה. אנו מציגים MsgBox עם מעט טקסט וכתובת התא שבו אירעה השגיאה.

MsgBox "לא יכול לחשב שורש ריבועי בתא" & cell.Address

5. הוסף את השורה הבאה כדי להורות ל- Excel VBA לחדש את הביצוע לאחר ביצוע קוד השגיאה.

המשך הבא

6. צא מעורך Visual Basic ובדוק את התוכנית.

תוֹצָאָה:

תוכל לעזור בפיתוח האתר, שיתוף הדף עם החברים שלך

wave wave wave wave wave