מצא ערך שני הגבוה ביותר ב- Excel VBA
להלן נבחן תוכנית ב Excel VBA כי מוצא את הערך השני הגבוה ביותר.
מצב:
1. ראשית, אנו מכריזים על שני אובייקטים מסוג Range ו- 2 משתנים מסוג Double. אנו מכנים את האובייקט של טווח האובייקטים והתא. משתנה כפול אחד שאנו מכנים highValue, ומשתנה כפול אנו קוראים secondHighestValue.
Dim highestValue As Double, secondHighestValue As Double
2. אנחנו מאתחלים את האובייקט rng של האובייקט עם הטווח שנבחר ואת שני המשתנים הכפולים עם ערך 0.
highestValue = 0
secondHighestValue = 0
3. ראשית, אנחנו רוצים למצוא את הערך הגבוה ביותר. אנחנו רוצים לבדוק כל תא בטווח נבחר באופן אקראי (טווח זה יכול להיות בכל גודל). ב- Excel VBA, ניתן להשתמש בלולאה עבור כל אחד מהם. הוסף את שורות הקוד הבאות:
For Each cell In rng
Next cell
הערה: rng ותא נבחרים באופן אקראי כאן, אתה יכול להשתמש בכל השמות. זכור להתייחס לשמות אלה בשאר הקוד. הקו הירוק הוא הערה והוא הוסיף כאן רק כדי לספק מידע על קטע זה של קוד.
4. אנו בודקים כל תא בטווח זה. אם הוא גבוה יותר מה- highValue, אנו כותבים את הערך ל- variableValue המשתנה, הוסף את שורת הקוד הבאה ללולאה.
הערה: הערך הראשון הוא תמיד גבוה יותר מה- highValue, מכיוון שהערך ההתחלתי של הגבוה ביותר הוא 0.
5. שנית, אנחנו רוצים למצוא את הערך השני הגבוה ביותר. אנו מוסיפים עוד עבור כל לולאה הבאה.
For Each cell In rng
Next cell
6. אנחנו בודקים כל תא בטווח שנבחר שוב. אם הוא גבוה יותר מה- secondHighestValue ונמוך מה- highValue, אנו כותבים את הערך למשתנה secondHighestValue, הוסף את שורת הקוד הבאה ללולאה.
7. לבסוף, אנו מציגים את הערך השני הגבוה ביותר באמצעות MsgBox.
8. מקם את המקרו בלחצן פקודה, בחר את המספרים ולחץ על לחצן הפקודה.
תוצאה: