Знайдіть друге найвище значення в Excel VBA - Прості макроси Excel

Зміст

Нижче ми розглянемо програму в Excel VBA що знаходить друге за значенням значення.

Ситуація:

1. Спочатку ми оголошуємо два об’єкти Range та дві змінні типу Double. Ми називаємо об'єкти діапазону rng і клітиною. Одну подвійну змінну ми називаємо najvišшоюValue, а одну подвійну змінну - другоюHighestValue.

Dim rng As Range, клітинка As Range
Затемнити найвище значення як подвійне, друге - найвище значення як подвійне

2. Ми ініціалізуємо об'єкт Range з вибраним діапазоном та двома змінними Double зі значенням 0.

Встановити rng = Вибір
najvišше значення = 0
secondHighestValue = 0

3. По -перше, ми хочемо знайти найвище значення. Ми хочемо перевірити кожну клітинку у випадково вибраному діапазоні (цей діапазон може бути будь -якого розміру). У Excel VBA для цього можна використовувати цикл For Every Next. Додайте такі рядки коду:

'Знайдіть найвищу цінність
Для кожної клітинки В rng
Наступна клітина

Примітка: тут rng і комірка вибираються випадковим чином, ви можете використовувати будь -які імена. Не забувайте посилатися на ці імена в решті коду. Зелена лінія є коментарем і додається лише тут, щоб надати інформацію про цей фрагмент коду.

4. Ми перевіряємо кожну клітинку в цьому діапазоні. Якщо воно вище найвищого значення, ми записуємо значення до змінної найвищої. Додайте наступний рядок коду до циклу.

Якщо cell.Value> mostValue То найвища цінність = cell.Value

Примітка: перше значення завжди вище найвищого значення, оскільки початкове значення найвищого значення дорівнює 0.

5. По -друге, ми хочемо знайти друге за значенням значення. Додаємо ще один цикл For Every Next.

'Знайдіть друге найвище значення
Для кожної клітинки В rng
Наступна клітина

6. Ми знову перевіряємо кожну клітинку у вибраному діапазоні. Якщо вона вища за secondHighestValue і нижча за najvišшуValue, ми записуємо значення до змінної secondHighestValue. Додайте наступний рядок коду до циклу.

Якщо cell.Value> secondHighestValue І cell.Value <mostValue Тоді secondHighestValue = cell.Value

7. Нарешті, ми відображаємо друге найвище значення за допомогою MsgBox.

MsgBox "Друге найвище значення" & secondHighestValue

8. Помістіть свій макрос у командну кнопку, виберіть цифри та натисніть на командну кнопку.

Результат:

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave