300 Příkladů

Najděte druhou nejvyšší hodnotu

Find Second Highest Value

Níže se podíváme na program v Excel VBA že najde druhou nejvyšší hodnotu .

Situace:



jak používat transponovat v aplikaci Excel

Najděte druhou nejvyšší hodnotu v aplikaci Excel VBA



1. Nejprve deklarujeme dva Range objekty a dvě proměnné typu Double. Říkáme Range objektům rng a cell. Jedna dvojitá proměnná, kterou nazýváme nejvyšší hodnota, a jedna dvojitá proměnná, kterou nazýváme secondHighestValue.

ŽádnýrngTak jakoRozsah, buňkaTak jakoRozsah
Žádnýnejvyšší hodnotaTak jako Dvojnásobek, secondHighestValueTak jako Dvojnásobek

2. Inicializujeme Range objekt rng s vybraným rozsahem a dvěma Double proměnnými s hodnotou 0.



Souborrng = výběr
nejvyšší hodnota = 0
secondHighestValue = 0

3. Nejprve chceme najít nejvyšší hodnotu. Chceme zkontrolovat každou buňku v náhodně vybraném rozsahu (tento rozsah může mít libovolnou velikost). V aplikaci Excel VBA k tomu můžete použít smyčku Pro každou další. Přidejte následující řádky kódu:

„Najděte nejvyšší hodnotu
Pro Každýbuňkavrng

dalšíbuňka

Poznámka: rng a cell jsou zde vybrány náhodně, můžete použít libovolná jména. Nezapomeňte na tyto názvy odkazovat ve zbytku kódu. Zelená čára je komentář a je zde přidána pouze za účelem poskytnutí informací o této části kódu.

4. Zkontrolujeme každou buňku v tomto rozsahu. Pokud je vyšší než nejvyšší hodnota, zapíšeme hodnotu do proměnné nejvyšší hodnota. Přidejte následující smyčku kódu do smyčky.



Licell.Value> nejvyšší hodnotaPaknejvyšší hodnota = buňka. hodnota

Poznámka: první hodnota je vždy vyšší než nejvyšší hodnota, protože počáteční hodnota nejvyšší hodnoty je 0.

5. Zadruhé, chceme najít druhou nejvyšší hodnotu. Přidáme další smyčku For each next.

vyberte číslo mezi 1-3
„Najděte druhou nejvyšší hodnotu
Pro Každýbuňkavrng

dalšíbuňka

6. Znovu zkontrolujeme každou buňku ve vybraném rozsahu. Pokud je vyšší než secondHighestValue a nižší než nejvyššíValue, zapíšeme hodnotu do proměnné secondHighestValue. Přidejte následující smyčku kódu do smyčky.

Licell.Value> secondHighestValueAbuňka. hodnotaPaksecondHighestValue = cell.Value

7. Nakonec zobrazíme druhou nejvyšší hodnotu pomocí MsgBoxu.

MsgBox „Druhá nejvyšší hodnota je“ & secondHighestValue

8. Umístěte makro do příkazového tlačítka, vyberte čísla a klikněte na příkazové tlačítko.

Výsledek:

Najděte druhý výsledek s nejvyšší hodnotou

7/9 dokončeno! Další informace o tom, zda pak prohlášení>
Přejít na další kapitolu: Smyčka



^