להלן נבחן תוכנית ב Excel VBA אשר יוצר א פונקציה מוגדרת על ידי המשתמש שמחשב את מְמוּצָע של טווח שנבחר באופן אקראי, למעט ערך אחד או יותר שהם חריגים ואסור לממוצעם.
מַצָב:
יש להכניס פונקציות שהוגדרו על ידי המשתמש לתוך מודול.
1. פתח את עורך Visual Basic ולחץ על הוספה, מודול.
2. הוסף את שורת הקוד הבאה:
פוּנקצִיָהCUSTOMAVERAGE (rngכפי שטווח, נמוך יותרכפי ש מספר שלם, עליוןכפי ש מספר שלם)שם הפונקציה שלנו הוא CUSTOMAVERAGE. החלק בין הסוגריים פירושו שאנחנו נותנים ל- Excel VBA טווח ושני משתנים שלמים כקלט. אנו מכנים את הטווח שלנו rng, משתנה אחד שלם שאנו מכנים נמוך יותר, ומשתנה שלם אחד שאנו מכנים עליון, אך ניתן להשתמש בכל שמות.
3. לאחר מכן, אנו מצהירים על אובייקט טווח ושני משתנים מסוג מספר שלם. אנו קוראים לתא האובייקט טווח. משתנה אחד שלם שאנו קוראים לו סך הכל ומשתנה שלם אחד שאנו קוראים לו ספירה.
לחשב שעות עבודה בין שני תאריכיםאף אחדתָאכפי שטווח, סה'ככפי ש מספר שלם, לספורכפי ש מספר שלם
4. אנו רוצים לבדוק כל תא בטווח שנבחר באופן אקראי (טווח זה יכול להיות בכל גודל). ב- VBA של Excel, תוכל להשתמש בלולאה 'לכל כל הבא' לשם כך. הוסף את שורות הקוד הבאות:
ל כל אחדתָאבrngהַבָּאתָא
הערה: rng ותא נבחרים כאן באופן אקראי, אתה יכול להשתמש בכל שמות. זכור להתייחס לשמות אלה בשאר הקוד שלך.
5. לאחר מכן, אנו בודקים כל ערך בטווח זה אם הוא נופל בין שני הערכים (תחתון ועליון). אם זה נכון, אנחנו מגדילים את סך הערך של התא ואנו מגדילים את מספר ה -1 בלולאה.
אםcell.Value> = נמוך יותרוכןתא. ערך<= upper לאחר מכןסה'כ = סה'כ + תא. ערך
ספירה = ספירה + 1
סוֹף אם
6. כדי להחזיר את התוצאה של פונקציה זו (הממוצע הרצוי), הוסף את שורת הקוד הבאה מחוץ ללולאה.
CUSTOMAVERAGE = סה'כ / ספירה7. אל תשכח לסיים את הפונקציה. הוסף את השורה:
סוֹף פוּנקצִיָה8. כעת תוכל להשתמש בפונקציה זו בדיוק כמו כל פונקציית Excel אחרת לחישוב ממוצע המספרים הנופלים בין שני ערכים.
תוֹצָאָה:
כמחאה, תוכל למחוק את כל הערכים הנמוכים מ -10 וגבוהים מ -30 ולהשתמש בפונקציה הממוצעת הסטנדרטית ב- Excel כדי לבדוק אם Excel מחשב את אותו הממוצע כמו הפונקציה הממוצעת המותאמת אישית שלנו.
איך לנהל רגרסיה באקסל
הפונקציה הממוצעת המותאמת אישית שלנו עובדת! הערה: פונקציה זו זמינה רק בחוברת עבודה זו.
עבור לפרק הבא: אובייקט יישום