/ / מצא את הערך השני הגבוה ביותר ב- Excel VBA

מצא ערך שני הגבוה ביותר ב- Excel VBA

להלן נבחן תוכנית ב Excel VBA כי מוצא את הערך השני הגבוה ביותר.

מצב:

מצא ערך שני הגבוה ביותר ב- Excel VBA

1. ראשית, אנו מכריזים על שני אובייקטים מסוג Range ו- 2 משתנים מסוג Double. אנו מכנים את האובייקט של טווח האובייקטים והתא. משתנה כפול אחד שאנו מכנים highValue, ומשתנה כפול אנו קוראים secondHighestValue.

Dim rng As Range, cell As Range
Dim highestValue As Double, secondHighestValue As Double

2. אנחנו מאתחלים את האובייקט rng של האובייקט עם הטווח שנבחר ואת שני המשתנים הכפולים עם ערך 0.

Set rng = Selection
highestValue = 0
secondHighestValue = 0

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

"Find Highest Value
For Each cell In rng

Next cell

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

4. אנו בודקים כל תא בטווח זה. אם הוא גבוה יותר מה- highValue, אנו כותבים את הערך ל- variableValue המשתנה, הוסף את שורת הקוד הבאה ללולאה.

If cell.Value > highestValue Then highestValue = cell.Value

הערה: הערך הראשון הוא תמיד גבוה יותר מה- highValue, מכיוון שהערך ההתחלתי של הגבוה ביותר הוא 0.

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

"Find Second Highest Value
For Each cell In rng

Next cell

6. אנחנו בודקים כל תא בטווח שנבחר שוב. אם הוא גבוה יותר מה- secondHighestValue ונמוך מה- highValue, אנו כותבים את הערך למשתנה secondHighestValue, הוסף את שורת הקוד הבאה ללולאה.

If cell.Value > secondHighestValue And cell.Value < highestValue Then secondHighestValue = cell.Value

7. לבסוף, אנו מציגים את הערך השני הגבוה ביותר באמצעות MsgBox.

MsgBox "Second Highest Value is " & secondHighestValue

8. מקם את המקרו בלחצן פקודה, בחר את המספרים ולחץ על לחצן הפקודה.

תוצאה:

מצא תוצאה של הערך השני הגבוה ביותר

קרא גם: