300 Beispiele

Finden Sie den zweithöchsten Wert

Find Second Highest Value

Unten sehen wir uns ein Programm an in Excel VBA das findet den zweithöchsten Wert .





Situation:

wie man in einer Zelle in Excel die Eingabetaste drückt

Finden Sie den zweithöchsten Wert in Excel VBA





1. Zuerst deklarieren wir zwei Range-Objekte und zwei Variablen vom Typ Double. Wir nennen die Range-Objekte rng und cell. Eine Double-Variable nennen wir maximumValue und eine Double-Variable nennen wir secondHighestValue.

KeinerrngWieReichweite, ZelleWieBereich
KeinerHöchster WertWie Doppelt, zweithöchster WertWie Doppelt

2. Wir initialisieren das Range-Objekt rng mit dem ausgewählten Bereich und den beiden Double-Variablen mit dem Wert 0.



Satzrng = Auswahl
höchsterWert = 0
ZweithöchsterWert = 0

3. Zuerst wollen wir den höchsten Wert finden. Wir möchten jede Zelle in einem zufällig ausgewählten Bereich überprüfen (dieser Bereich kann beliebig groß sein). In Excel VBA können Sie dafür die For Each Next-Schleife verwenden. Fügen Sie die folgenden Codezeilen hinzu:

'Höchsten Wert finden
Zum JederZelleInrng

NächsteZelle

Hinweis: rng und cell werden hier zufällig ausgewählt, Sie können beliebige Namen verwenden. Denken Sie daran, sich im Rest Ihres Codes auf diese Namen zu beziehen. Die grüne Zeile ist ein Kommentar und wird hier nur hinzugefügt, um Informationen zu diesem Codeabschnitt bereitzustellen.

4. Wir überprüfen jede Zelle in diesem Bereich. Wenn es höher als maximumValue ist, schreiben wir den Wert in die Variable maximumValue. Fügen Sie der Schleife die folgende Codezeile hinzu.

Wenncell.Value > höchsterWertDannhöchsterWert = Zelle.Wert

Hinweis: Der erste Wert ist immer höher als maximumValue, da der Startwert von maximumValue 0 ist.

5. Zweitens wollen wir den zweithöchsten Wert finden. Wir fügen eine weitere For Each Next-Schleife hinzu.

Wie summiere ich farbige Zellen in Excel?
'Zweithöchsten Wert finden
Zum JederZelleInrng

NächsteZelle

6. Wir überprüfen jede Zelle im ausgewählten Bereich erneut. Wenn es höher als secondHighestValue und niedriger als maximumValue ist, schreiben wir den Wert in die Variable secondHighestValue. Fügen Sie der Schleife die folgende Codezeile hinzu.

Wenncell.Value > SecondHighestValueUndZelle.WertDannSecondHighestValue = cell.Value

7. Schließlich zeigen wir den zweithöchsten Wert mit einer MsgBox an.

MsgBox 'Zweithöchster Wert ist ' & zweithöchster Wert

8. Platzieren Sie Ihr Makro in einer Befehlsschaltfläche, wählen Sie die Zahlen aus, und klicken Sie auf die Befehlsschaltfläche.

Ergebnis:

Finden Sie das Ergebnis mit dem zweithöchsten Wert

7/9 abgeschlossen! Erfahren Sie mehr über if-then-Anweisungen >
Gehe zum nächsten Kapitel: Schleife



^