Găsiți cea de-a doua cea mai mare valoare în Excel VBA - Macro Excel ușor

Cuprins

Mai jos vom analiza un program în Excel VBA acea găsește a doua cea mai mare valoare.

Situatie:

1. În primul rând, declarăm două obiecte Range și două variabile de tip Double. Numim obiectele Range rng și celulă. O variabilă dublă pe care o numim maximumValue și o variabilă dublă o numim secondHighestValue.

Dim rng As Range, celulă As Range
Reduceți valoarea cea mai mare ca dublă, a doua cea mai mare valoare ca dublă

2. Inițializăm obiectul Range rng cu intervalul selectat și cele două variabile Double cu valoarea 0.

Set rng = Selection
cea mai mare valoare = 0
secondHighestValue = 0

3. În primul rând, vrem să găsim cea mai mare valoare. Vrem să verificăm fiecare celulă într-un interval selectat aleatoriu (acest interval poate fi de orice dimensiune). În Excel VBA, puteți utiliza bucla Pentru fiecare următor pentru aceasta. Adăugați următoarele linii de cod:

„Găsiți cea mai mare valoare
Pentru fiecare celulă din rng
Următoarea celulă

Notă: rng și celulă sunt alese la întâmplare aici, puteți folosi orice nume. Nu uitați să consultați aceste nume în restul codului. Linia verde este un comentariu și este adăugată aici doar pentru a furniza informații despre această bucată de cod.

4. Verificăm fiecare celulă din acest interval. Dacă este mai mare decât maximumValue, scriem valoarea variabilei maximumValue. Adăugați următoarea linie de cod la buclă.

Dacă celula.Valoare> cea mai mareValoare Atunci cea mai mareValoare = celula.Valoare

Notă: prima valoare este întotdeauna mai mare decât valoarea cea mai mare, deoarece valoarea inițială a valorii celei mai mari este 0.

5. În al doilea rând, dorim să găsim cea de-a doua cea mai mare valoare. Adăugăm o altă buclă pentru fiecare următoare.

„Găsiți a doua cea mai mare valoare
Pentru fiecare celulă din rng
Următoarea celulă

6. Verificăm din nou fiecare celulă din intervalul selectat. Dacă este mai mare decât secondHighestValue și mai mic decât maximumValue, scriem valoarea variabilei secondHighestValue. Adăugați următoarea linie de cod la buclă.

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

7. În cele din urmă, afișăm a doua cea mai mare valoare folosind un MsgBox.

MsgBox „Second Highest Value is” & secondHighestValue

8. Plasați macrocomanda într-un buton de comandă, selectați numerele și faceți clic pe butonul de comandă.

Rezultat:

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave