Намерете втората най -висока стойност в Excel VBA - Лесни макроси на Excel

Съдържание

По -долу ще разгледаме програма в Excel VBA че намира втората най -висока стойност.

Ситуация:

1. Първо, декларираме два Range обекта и две променливи от тип Double. Ние наричаме Range обекти rng и cell. Една двойна променлива ние наричаме najvišValue и една двойна променлива наричаме secondHighestValue.

Dim rng As Range, клетка As Range
Затъмнете най -високата стойност като двойна, втората най -високата стойност като двойна

2. Инициализираме Range обекта rng с избрания диапазон и двете двойни променливи със стойност 0.

Задайте rng = Избор
най -високата стойност = 0
secondHighestValue = 0

3. Първо, искаме да намерим най -високата стойност. Искаме да проверим всяка клетка в произволно избран диапазон (този диапазон може да бъде от всякакъв размер). В Excel VBA можете да използвате цикъла For Every Next за това. Добавете следните кодови редове:

„Намерете най -високата стойност
За всяка клетка В rng
Следващата клетка

Забележка: тук rng и клетка са избрани на случаен принцип, можете да използвате всякакви имена. Не забравяйте да се позовавате на тези имена в останалата част от кода. Зелената линия е коментар и се добавя тук само за предоставяне на информация за тази част от кода.

4. Проверяваме всяка клетка в този диапазон. Ако е по -високо от mostValue, записваме стойността в променливата najvišValue. Добавете следния код в цикъла.

Ако cell.Value> mostValue Тогава mostValue = cell.Value

Забележка: първата стойност винаги е по -висока от mostValue, тъй като началната стойност от mostValue е 0.

5. Второ, искаме да намерим втората най -висока стойност. Добавяме още един цикъл за всеки следващ.

„Намерете втората най -висока стойност
За всяка клетка В rng
Следващата клетка

6. Проверяваме отново всяка клетка в избрания диапазон. Ако е по -високо от secondHighestValue и по -ниско от mostValue, записваме стойността към променливата secondHighestValue. Добавете следния код в цикъла.

Ако cell.Value> secondHighestValue И cell.Value <mostValue Тогава secondHighestValue = cell.Value

7. Накрая показваме втората най -висока стойност, използвайки MsgBox.

MsgBox "Втората най -висока стойност е" & secondHighestValue

8. Поставете вашия макрос в команден бутон, изберете числата и щракнете върху командния бутон.

Резултат:

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave