VBA max

Max wird, wie der Name schon sagt, verwendet, um den Maximalwert aus einem bestimmten Datensatz oder einem Array herauszufinden. Dies ist eine Arbeitsblattfunktion, daher wird sie mit der Arbeitsblattmethode als Arbeitsblattfunktion verwendet. Diese Methode unterliegt einer Einschränkung Die Funktion verwendet ein Array als Argument. Das Array kann nur 30 Werte enthalten.

Excel VBA Max-Funktion

Wir haben mehrere numerische Funktionen in Excel. Wir können numerische Werte im Bereich zählen, wir können summieren und wir können den minimalen Wert sowie den maximalen Wert des Loses finden. Um den Maximalwert des Loses zu ermitteln, haben wir eine Excel-Funktion namens MAX, die den Maximalwert des angegebenen Zahlenbereichs zurückgibt. In VBA haben wir keine eingebaute Funktion namens "MAX", um die maximale Anzahl zu erhalten. Wir werden sehen, wie diese Excel VBA Max-Funktion verwendet wird.

Beispiel für die Max-Funktion in Excel VBA

Leider haben wir nicht den Luxus, MAX als integrierte VBA-Funktion zu verwenden, aber wir können auf diese Funktion als Teil der Worksheet Function-Klasse zugreifen.

Schauen Sie sich nun den folgenden Code an.

Code:

 Sub MAX_Example1 () Dim a As Integer Dim b As Integer Dim c As Integer Dim Ergebnis As Integer a = 50 b = 25 c = 60 Ergebnis = WorksheetFunction.Max (a, b, c) MsgBox Ergebnis Ende Sub 

Im obigen Beispiel habe ich drei Variablen zum Speichern der Nummer deklariert.

Dim a As Integer Dim b As Integer Dim c As Integer

Ich habe eine weitere Variable deklariert, um die Ergebnisse anzuzeigen.

Ergebnis als Ganzzahl dimmen.

Für die ersten drei Variablen habe ich den Wert 50, 25 bzw. 60 zugewiesen.

a = 50 b = 25 c = 60

In der nächsten Zeile habe ich MAX als VBA-Arbeitsblatt-Funktionsklasse angewendet, um das Ergebnis in der Variablen "Ergebnis" zu speichern.

Ergebnis = WorksheetFunction.Max (a, b, c)

Also zeige ich endlich den Wert im Meldungsfeld in VBA. MsgBox Ergebnis

Jetzt werde ich diesen Code mit F5 oder manuell ausführen und sehen, was das Ergebnis im Meldungsfeld ist.

Das Ergebnis ist also 60.

Von allen angegebenen Nummern, dh 50, 25 und 60, beträgt die maximale Anzahl 60.

Erweitertes Beispiel für Max in Excel VBA

Schleifen sind in VBA sehr wichtig, um alle Zellen zu durchlaufen und das Ergebnis zu erhalten. Wir werden sehen, wie VBA MAX mit Schleifen kombiniert wird, um den Maximalwert aus der Liste der Zahlen zu erhalten.

Ich habe eine Liste der Artikel und deren monatliche Verkaufsleistung dieser Artikel, wie unten gezeigt.

Jetzt möchte ich für jeden Artikel wissen, wie hoch die maximale Verkaufszahl innerhalb von 4 Monaten ist (siehe Abbildung).

Durch die Anwendung von MAX in Excel können wir dies in wenigen Sekunden finden.

Jetzt werden wir sehen, wie der Maximalwert mithilfe von VBA-Code ermittelt wird.

Der folgende Code führt die Aufgabe aus, die maximale Anzahl für jeden Artikel zu ermitteln.

Code:

 Sub MAX_Example2 () Dim k As Integer Für k = 2 bis 9 Zellen (k, 7) .Value = WorksheetFunction.Max (Bereich ("A" & k & ":" & "E" & k)) Next k End Sub 

Dadurch wird die maximale Anzahl leicht identifiziert.

Führen Sie nun den Code manuell aus oder drücken Sie die Taste F5 und sehen Sie das Ergebnis wie unten gezeigt.

Verwenden Sie den folgenden Code, um die Maximalwerte für den Monatsnamen zu erhalten.

Code:

 Sub MAX_Example2 () Dim k As Integer Für k = 2 bis 9 Zellen (k, 7) .Value = WorksheetFunction.Max (Bereich ("B" & k & ":" & "E" & k)) Zellen (k, 8) .Value = WorksheetFunction.Index (Bereich ("B1: E1"), WorksheetFunction.Match _ (Zellen (k, 7) .Value, Bereich ("B" & k & ":" & "E" & k) )) Weiter k End Sub 

Basierend auf dem von der VBA max-Funktion bereitgestellten Wert geben die INDEX-Funktion und die MATCH-Funktion den zugehörigen Monat in der nächsten Zeile zurück.

Dinge, an die man sich erinnern sollte

  • Wenn ihre doppelte Nummer vorhanden ist, wird nur eine Nummer angezeigt, die zuerst kommt.
  • Dies ist die entgegengesetzte Formel der MIN-Funktion in Excel.
  • MAX ist keine VBA-Funktion, sondern eine in Excel integrierte Funktion. Verwenden Sie daher die Arbeitsblatt-Funktionsklasse.

Sie können diese Excel-Vorlage hier herunterladen - VBA Max-Funktionsvorlage