Vind de op één na hoogste waarde in Excel VBA - Eenvoudige Excel-macro's

Inhoudsopgave

Hieronder zullen we kijken naar een programma in Excel VBA Dat vindt de op één na hoogste waarde.

Situatie:

1. Eerst declareren we twee Range-objecten en twee variabelen van het type Double. We noemen de Range-objecten rng en cel. Eén dubbele variabele noemen we hoogsteValue, en één dubbele variabele noemen we secondHighestValue.

Dim rng As Range, cel As Range
Dim hoogste waarde als dubbel, tweede hoogste waarde als dubbel

2. We initialiseren het Range-object rng met het geselecteerde bereik en de twee Double-variabelen met waarde 0.

Stel rng = Selectie in
hoogste waarde = 0
tweedeHoogsteWaarde = 0

3. Eerst willen we de hoogste waarde vinden. We willen elke cel in een willekeurig geselecteerd bereik controleren (dit bereik kan elke grootte hebben). In Excel VBA kunt u hiervoor de For Each Next-lus gebruiken. Voeg de volgende coderegels toe:

'Vind hoogste waarde'
Voor elke cel In rng
Volgende cel

Opmerking: rng en cel worden hier willekeurig gekozen, u kunt alle namen gebruiken. Vergeet niet om naar deze namen te verwijzen in de rest van uw code. De groene lijn is een opmerking en wordt hier alleen toegevoegd om informatie over dit stukje code te geven.

4. We controleren elke cel in dit bereik. Als het hoger is dan hoogste waarde, schrijven we de waarde naar de variabele hoogste waarde. Voeg de volgende coderegel toe aan de lus.

Als cel. Waarde > hoogste waarde Dan hoogste waarde = cel. Waarde

Opmerking: de eerste waarde is altijd hoger dan de hoogste waarde omdat de beginwaarde van de hoogste waarde 0 is.

5. Ten tweede willen we de op één na hoogste waarde vinden. We voegen nog een For Each Next-lus toe.

'Vind de tweede hoogste waarde'
Voor elke cel In rng
Volgende cel

6. We controleren elke cel in het geselecteerde bereik opnieuw. Als het hoger is dan secondHighestValue en lager dan hoogsteValue, schrijven we de waarde naar de variabele secondHighestValue. Voeg de volgende coderegel toe aan de lus.

Als cell.Value > secondHighestValue en cell.Value < hoogsteValue Dan secondHighestValue = cell.Value

7. Ten slotte geven we de op één na hoogste waarde weer met behulp van een MsgBox.

MsgBox "Tweede hoogste waarde is " & tweede hoogste waarde

8. Plaats uw macro in een opdrachtknop, selecteer de nummers en klik op de opdrachtknop.

Resultaat:

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave