Finn nest høyeste verdi i Excel VBA - Enkle Excel -makroer

Innholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA at finner den nest høyeste verdien.

Situasjon:

1. Først erklærer vi to Range -objekter og to variabler av typen Double. Vi kaller Range -objektene rng og cell. En dobbel variabel kaller vi høyeste verdi, og en dobbel variabel kaller vi secondHighestValue.

Dim rng As Range, cell As Range
Dim høyeste verdi som dobbel, andreHøyeste verdi som dobbel

2. Vi initialiserer Range -objektet rng med det valgte området og de to doble variablene med verdi 0.

Sett rng = Valg
høyeste verdi = 0
secondHighestValue = 0

3. Først vil vi finne den høyeste verdien. Vi ønsker å kontrollere hver celle i et tilfeldig valgt område (dette området kan være av hvilken som helst størrelse). I Excel VBA kan du bruke For Every Next loop for dette. Legg til følgende kodelinjer:

'Finn høyeste verdi
For hver celle I rng
Neste celle

Merk: rng og celle velges tilfeldig her, du kan bruke alle navn. Husk å referere til disse navnene i resten av koden. Den grønne linjen er en kommentar og er bare lagt til her for å gi informasjon om denne koden.

4. Vi sjekker hver celle i dette området. Hvis den er høyere enn høyeste verdi, skriver vi verdien til variabelen høyeste verdi. Legg til følgende kodelinje i løkken.

Hvis cell.Value> høyeste verdi Da høyeste verdi = cell.Value

Merk: den første verdien er alltid høyere enn høyeste verdi fordi startverdien til høyeste verdi er 0.

5. For det andre ønsker vi å finne den nest høyeste verdien. Vi legger til en annen for hver neste sløyfe.

'Finn nest høyeste verdi
For hver celle I rng
Neste celle

6. Vi sjekker hver celle i det valgte området igjen. Hvis den er høyere enn secondHighestValue og lavere enn highestValue, skriver vi verdien til variabelen secondHighestValue. Legg til følgende kodelinje i løkken.

Hvis cell.Value> secondHighestValue Og cell.Value <høyeste verdi Så secondHighestValue = cell.Value

7. Til slutt viser vi den nest høyeste verdien ved hjelp av en MsgBox.

MsgBox "nest høyeste verdi er" og secondHighestValue

8. Plasser makroen i en kommandoknapp, velg tallene, og klikk på kommando -knappen.

Resultat:

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave