Znajdź drugą najwyższą wartość w Excel VBA - łatwe makra w Excelu

Spisie treści

Poniżej przyjrzymy się programowi w Excel VBA że znajduje drugą najwyższą wartość.

Sytuacja:

1. Najpierw deklarujemy dwa obiekty Range i dwie zmienne typu Double. Nazywamy obiekty Range rng i cell. Jedną podwójną zmienną nazywamy najwyższąValue, a jedną podwójną zmienną nazywamy secondHighestValue.

Dim rng As Range, komórka As Range
Dim najwyższa podwojona wartość, druga najwyższa podwojona wartość

2. Inicjujemy obiekt Range rng z wybranym zakresem i dwie zmienne Double o wartości 0.

Ustaw rng = Wybór
najwyższa wartość = 0
drugaNajwyższaWartość = 0

3. Najpierw chcemy znaleźć najwyższą wartość. Chcemy sprawdzić każdą komórkę w losowo wybranym zakresie (ten zakres może mieć dowolny rozmiar). W Excel VBA możesz użyć do tego pętli For Each Next. Dodaj następujące wiersze kodu:

„Znajdź najwyższą wartość”
Dla każdej komórki w rng
Następna komórka

Uwaga: rng i komórka są tutaj wybierane losowo, możesz użyć dowolnych nazw. Pamiętaj, aby odwoływać się do tych nazw w pozostałej części kodu. Zielona linia jest komentarzem i jest dodawana tutaj tylko w celu dostarczenia informacji o tym fragmencie kodu.

4. Sprawdzamy każdą komórkę w tym zakresie. Jeśli jest wyższa niż najwyższaWartość, zapisujemy wartość do zmiennej najwyższaWartość. Dodaj następującą linię kodu do pętli.

Jeśli komórka.Wartość > najwyższaWartość Wtedy najwyższaWartość = komórka.Wartość

Uwaga: pierwsza wartość jest zawsze wyższa niż najwyższaValue, ponieważ początkowa wartość najwyższej wartości wynosi 0.

5. Po drugie, chcemy znaleźć drugą najwyższą wartość. Dodajemy kolejną pętlę For Each Next.

„Znajdź drugą najwyższą wartość”
Dla każdej komórki w rng
Następna komórka

6. Ponownie sprawdzamy każdą komórkę w wybranym zakresie. Jeśli jest wyższa niż secondHighestValue i niższa niż najwyższaValue, zapisujemy wartość do zmiennej secondHighestValue. Dodaj następującą linię kodu do pętli.

Jeśli cell.Value > secondHighestValue And cell.Value < maximumValue Then secondHighestValue = cell.Value

7. Na koniec wyświetlamy drugą najwyższą wartość za pomocą MsgBox.

MsgBox "Druga najwyższa wartość to " & secondHighestValue

8. Umieść makro w przycisku polecenia, wybierz liczby i kliknij przycisk polecenia.

Wynik:

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave