VBA Max

Max, zoals de naam al doet vermoeden, wordt gebruikt om de maximale waarde uit een bepaalde gegevensset of een array te achterhalen, dit is een werkbladfunctie, dus het wordt gebruikt met de werkbladmethode als werkbladfunctie, er is een beperking aan deze methode omdat dit functie neemt een array als argument, er kunnen maar 30 waarden in de array zijn.

Excel VBA Max-functie

We hebben verschillende numerieke functies in Excel. We kunnen numerieke waarden in het bereik tellen, we kunnen optellen en we kunnen zowel de minimumwaarde als de maximumwaarde van de partij vinden. Om de maximale waarde van het perceel te vinden, hebben we een Excel-functie genaamd MAX die de maximale waarde van de opgegeven reeks getallen retourneert. In VBA hebben we geen ingebouwde functie genaamd "MAX" om het maximale aantal te krijgen. We zullen zien hoe u deze Excel VBA Max-functie kunt gebruiken.

Voorbeeld van Max-functie in Excel VBA

Helaas hebben we niet de luxe om MAX te gebruiken als de ingebouwde VBA-functie, maar we hebben toegang tot deze functie als onderdeel van de Worksheet Function-klasse.

Kijk nu naar de onderstaande code.

Code:

 Sub MAX_Example1 () Dim a As Integer Dim b As Integer Dim c As Integer Dim Resultaat As Integer a = 50 b = 25 c = 60 Resultaat = WorksheetFunction.Max (a, b, c) MsgBox Result End Sub 

In het bovenstaande voorbeeld heb ik drie variabelen gedeclareerd om het nummer op te slaan.

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

Ik heb nog een variabele gedeclareerd om de resultaten te laten zien.

Dim resultaat als geheel getal.

Voor de eerste drie drie variabelen heb ik de waarde respectievelijk 50, 25 en 60 toegewezen.

a = 50 b = 25 c = 60

In de volgende regel heb ik de MAX toegepast als een VBA-werkbladfunctieklasse om het resultaat op te slaan in de variabele "Resultaat".

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

Dus eindelijk laat ik de waarde zien in het berichtvenster in VBA. MsgBox-resultaat

Nu zal ik deze code uitvoeren met F5 of handmatig en kijk wat het resultaat is in het berichtvenster.

Het resultaat is dus 60.

Van alle geleverde nummers, dwz 50, 25 en 60, is het maximale aantal 60.

Geavanceerd voorbeeld van Max in Excel VBA

Lussen zijn erg belangrijk in VBA om door alle cellen te lopen en het resultaat te bereiken. We zullen zien hoe we VBA MAX kunnen combineren met loops om de maximale waarde uit de lijst met getallen te halen.

Ik heb een lijst met artikelen en hun maandelijkse verkoopprestaties van die artikelen, zoals hieronder weergegeven.

Nu wil ik voor elk item weten wat het maximale verkoopaantal is gedurende 4 maanden, zoals weergegeven in de afbeelding.

Door MAX in Excel toe te passen, kunnen we dit in een paar seconden vinden.

Nu zullen we zien hoe we de maximale waarde kunnen vinden door VBA-code te gebruiken.

Onderstaande code zal de taak uitvoeren om het maximale aantal voor elk item te vinden.

Code:

 Sub MAX_Example2 () Dim k As Integer voor k = 2 tot 9 cellen (k, 7) .Value = WorksheetFunction.Max (Range ("A" & k & ":" & "E" & k)) Volgende k End Sub 

Dit zal het maximale aantal gemakkelijk identificeren.

Voer de code nu handmatig uit of druk op de F5-toets en zie het resultaat zoals hieronder weergegeven.

Gebruik de onderstaande code om de maximale waarden voor maandnaam te krijgen.

Code:

 Sub MAX_Example2 () Dim k As Integer For k = 2 to 9 Cells (k, 7) .Value = WorksheetFunction.Max (Range ("B" & k & ":" & "E" & k)) Cells (k, 8) .Value = WorksheetFunction.Index (Range ("B1: E1"), WorksheetFunction.Match _ (Cellen (k, 7) .Value, Range ("B" & k & ":" & "E" & k) )) Volgende k End Sub 

Op basis van de waarde die wordt verstrekt door de VBA max-functie, retourneert de functie INDEX & MATCH de bijbehorende maand op de volgende regel.

Dingen om te onthouden

  • Als hun dubbele nummer daar is, wordt slechts één nummer weergegeven dat als eerste komt.
  • Dit is de tegenovergestelde formule van de MIN-functie in Excel.
  • MAX is geen VBA-functie, het is een ingebouwde functie in Excel, dus het gebruik van de werkbladfunctieklasse.

U kunt deze Excel-sjabloon hier downloaden - VBA Max-functiesjabloon