Find den næsthøjeste værdi i Excel VBA - nemme Excel -makroer

Indholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA at finder den næsthøjeste værdi.

Situation:

1. For det første erklærer vi to Range -objekter og to variabler af typen Double. Vi kalder Range -objekterne rng og cell. En dobbelt variabel kalder vi højeste værdi, og en dobbelt variabel kalder vi secondHighestValue.

Dim rng As Range, cell As Range
Dim højeste værdi som dobbelt, andenHøjeste værdi som dobbelt

2. Vi initialiserer Range -objektet rng med det valgte område og de to Double -variabler med værdi 0.

Indstil rng = Valg
højeste værdi = 0
secondHighestValue = 0

3. Først vil vi finde den højeste værdi. Vi vil kontrollere hver celle i et tilfældigt valgt område (dette område kan være af enhver størrelse). I Excel VBA kan du bruge For Every Next loop til dette. Tilføj følgende kodelinjer:

'Find den højeste værdi
For hver celle I rng
Næste celle

Bemærk: rng og celle vælges tilfældigt her, du kan bruge alle navne. Husk at henvise til disse navne i resten af ​​din kode. Den grønne linje er en kommentar og tilføjes kun her for at give oplysninger om dette stykke kode.

4. Vi tjekker hver celle i dette område. Hvis den er højere end højeste værdi, skriver vi værdien til variablen højeste værdi. Tilføj følgende kodelinje til sløjfen.

Hvis cell.Value> højeste værdi Så højeste værdi = cell.Værdi

Bemærk: den første værdi er altid højere end den højeste værdi, fordi startværdien for den højeste værdi er 0.

5. For det andet ønsker vi at finde den næsthøjeste værdi. Vi tilføjer endnu en for hver næste sløjfe.

'Find den næsthøjeste værdi
For hver celle I rng
Næste celle

6. Vi kontrollerer hver celle i det valgte område igen. Hvis den er højere end secondHighestValue og lavere end highestValue, skriver vi værdien til variablen secondHighestValue. Tilføj følgende kodelinje til sløjfen.

Hvis cell.Value> secondHighestValue Og cell.Value <højeste værdi Så secondHighestValue = cell.Value

7. Endelig viser vi den næsthøjeste værdi ved hjælp af en MsgBox.

MsgBox "Anden højeste værdi er" & secondHighestValue

8. Placer din makro i en kommandoknap, vælg tallene, og klik på kommandoknappen.

Resultat:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave