חיפוש אחר יעדים VBA | כיצד להשתמש בחיפוש יעדים כדי למצוא ערך ב- Excel VBA?

חיפוש מטרות ב- Excel VBA

יעד חיפוש הוא הכלי הזמין ב- Excel VBA שעוזר לנו למצוא את המספר הנדרש להשגה כדי להגיע ליעד שנקבע.

לדוגמא, אתה סטודנט ושמת מיקדת ציון ממוצע של 90% משישה נושאים זמינים. נכון לעכשיו סיימת 5 בחינות ונשארת לך רק נושא אחד, הציונים הצפויים שלך מחמישה מקצועות שהושלמו הם 89, 88, 91, 87, 89 ו- 90. עכשיו אתה רוצה לדעת כמה אתה צריך לקלוע הבחינה הסופית להשגת יעד האחוז הממוצע הכולל של 90%.

ניתן לעשות זאת באמצעות GOAL SEEK בגליון העבודה של Excel וכן בקידוד VBA. בואו נראה איך זה עובד עם VBA.

תחביר למטרת VBA

ב- VBA Goal Seek עלינו לציין את הערך שאנחנו משנים ולהגיע לתוצאה הממוקדת הסופית, אז ספקו את הפניה לתא באמצעות אובייקט VBA RANGE, בהמשך נוכל לגשת לאפשרות GOAL SEEK.

להלן התחביר של חיפוש מטרות ב- VBA.

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

דוגמאות לחיפוש יעדים ב- Excel VBA

להלן דוגמאות לחיפוש יעדים ב- Excel VBA.

אתה יכול להוריד תבנית Excel זו של VBA Goal Seek כאן - תבנית Excel VBA Goal Seek

חיפוש יעדים ב- VBA - דוגמה מס '1

ניקח לדוגמא ציון ממוצע בחינות בלבד. להלן הציון הצפוי של 5 נושאים מהבחינה שהושלמה.

ראשית, עלינו להגיע מה הציון הממוצע מבין 5 הנושאים שהושלמו. החל את פונקציית AVERAGE בתא B8.

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

התחל את תת התהליך במודול כיתת VBA.

קוד:

 Sub Goal_Seek_Example1 () Sub Sub 

כעת אנו זקוקים לתוצאה בתא B8, אז ספקו הפניה לטווח זה באמצעות אובייקט RANGE.

קוד:

 טווח משנה יעד_חיפוש_דוגמה 1 () ("B8") סוף משנה 

כעת שים נקודה והזן אפשרות "חיפוש מטרה".

הטיעון הראשון הוא "מטרה" לשם כך עלינו להזין את מטרתנו הסופית כדי להגיע ל- RANGE B8. בדוגמה זו אנו מנסים להשיג את היעד 90.

קוד:

 טווח משנה יעד_חיפוש_דוגמה 1 () ("B8"). יעד יעד חיפוש: = 90 סוף סוף 

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

קוד:

 טווח משנה יעד_חיפוש_דוגמא 1 () ("B8"). יעד חיפוש יעד: = 90, שינוי תא: = טווח ("B7") סוף סוף 

בדוגמה זו, התא המשתנה שלנו הוא תא תת 6 כלומר תא B7.

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

אז, בנושא האחרון יש להבקיע 95 כדי לקבל את הממוצע הכולל של 90.

חיפוש יעדים ב- VBA - דוגמה 2

למדנו כיצד ליישם את GOAL SEEK כדי למצוא את המספר הדרוש להשגת המטרה. כעת נראה דוגמה מתקדמת למציאת ציון הבחינות הסופי ליותר מסטודנט אחד.

להלן הציונים הצפויים של 5 נושאים לאחר הבחינה.

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

קוד:

 Sub Goal_Seek_Example2 () Dim k As Long Dim Result Result Cell As Range Dim ChangingCell As Range Dim TargetScore as Ingerger TargetScore = 90 for k = 2 to 5 Set ResultCell = Cells (8, k) Set ChangingCell = Cells (7, k) ResultCell.GoalSeek TargetScore, ChangingCell הבא k סוף משנה 

קוד זה יעבור בין כל ציוני התלמידים ויגיע לציון הבחינה הסופי הנדרש להשגת הממוצע הכולל של 90.

אז קיבלנו את התוצאה הסופית עכשיו כ,

Student A needs to score just 83 to secure the overall 90 percentage and Student D needs to score 93.

But look at Student B & C they need to score 104 each in the final examination which is not possible at all.

Like this using GOAL SEEK analysis we can find the required number to achieve the targeted number mid through the project or process.

Things to Remember

  • Goal Seek is available with both worksheet tool as well as VBA tool.
  • Result cell should always contain a formula.
  • We need to enter goal value and changing cell reference to the goal seek tool.