VBA Max

Max, som namnet antyder, används för att ta reda på det maximala värdet från en given datamängd eller en matris, detta är en kalkylfunktion så den används med kalkylbladmetoden som kalkylfunktion, det finns en begränsning för denna metod eftersom den här funktionen tar en matris som ett argument, det kan bara finnas 30 värden i matrisen.

Excel VBA Max-funktion

Vi har flera numeriska funktioner i Excel. Vi kan räkna numeriska värden i intervallet, vi kan summera och vi kan hitta minimivärdet liksom det maximala värdet för partiet. För att hitta det maximala värdet för partiet har vi en excel-funktion som heter MAX som returnerar det maximala värdet för det medföljande numret. I VBA har vi ingen inbyggd funktion som heter “MAX” för att få maximalt antal. Vi kommer att se hur man använder denna Excel VBA Max-funktion.

Exempel på maxfunktion i Excel VBA

Tyvärr har vi inte lyxen att använda MAX som VBA-inbyggda funktion men vi kan komma åt den här funktionen som en del av arbetsbladets funktionsklass.

Titta nu på koden nedan.

Koda:

 Sub MAX_Exempel1 () Dim a Som heltal Dim b Som heltal Dim c Som heltal Dim Resultat som heltal a = 50 b = 25 c = 60 Resultat = ArbetsbladFunktion.Max (a, b, c) MsgBox Resultat Slut Sub 

I ovanstående exempel har jag deklarerat tre variabler för att lagra numret.

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

Jag har förklarat en enda variabel för att visa resultaten.

Svagt resultat som heltal.

För de tre första tre variablerna har jag tilldelat värdet 50, 25 respektive 60.

a = 50 b = 25 c = 60

I nästa rad har jag tillämpat MAX som en VBA-kalkylarkfunktionsklass för att lagra resultatet till variabeln "Resultat".

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

Så äntligen visar jag värdet i meddelandefältet i VBA. MsgBox-resultat

Nu kommer jag att köra den här koden med F5 eller manuellt och se vad resultatet är i meddelandefältet.

Så resultatet är 60.

Från alla levererade siffror, dvs. 50, 25 och 60, är ​​det maximala antalet 60.

Avancerat exempel på max i Excel VBA

Slingor är mycket viktiga i VBA att springa igenom alla celler och nå resultatet. Vi kommer att se hur man kombinerar VBA MAX med loopar för att komma fram till det maximala värdet från listan över siffror.

Jag har en lista med artiklar och deras månatliga försäljningsresultat för dessa artiklar som visas nedan.

Nu för varje artikel vill jag veta vad det maximala försäljningsantalet är över fyra månader som visas på bilden.

Genom att tillämpa MAX i excel kan vi hitta detta på några sekunder.

Nu ska vi se hur man hittar det maximala värdet med hjälp av VBA-kod.

Nedanstående kod kommer att utföra uppgiften att hitta det maximala antalet för varje objekt.

Koda:

 Sub MAX_Exempel2 () Dim k som heltal För k = 2 till 9 celler (k, 7). Värde = WorksheetFunction.Max (Range ("A" & k & ":" & "E" & k)) Nästa k End Sub 

Detta identifierar maximalt antal enkelt.

Kör nu koden manuellt eller tryck på F5-tangenten och se resultatet som visas nedan.

För att få maximala värden månadsnamn använd nedanstående kod.

Koda:

 Sub MAX_Exempel2 () Dim k som heltal För k = 2 till 9 celler (k, 7). Värde = WorksheetFunction.Max (Range ("B" & k & ":" & "E" & k)) Celler (k, 8) .Value = WorksheetFunction.Index (Range ("B1: E1"), WorksheetFunction.Match _ (Cells (k, 7) .Value, Range ("B" & k & ":" & "E" & k) )) Nästa k Avsluta sub 

Baserat på värdet som tillhandahålls av VBA max-funktionen returnerar INDEX-funktionen & MATCH-funktionen tillhörande månad i nästa rad.

Saker att komma ihåg

  • Om deras duplicerade nummer är där kommer det bara att visa ett nummer som kommer först.
  • Detta är motsatt formel för MIN-funktionen i Excel.
  • MAX är inte en VBA-funktion, det är en inbyggd funktion i Excel, så att använda kalkylbladets funktionsklass.

Du kan ladda ner denna Excel-mall här - VBA Max-funktionsmall