VBA Max-funktion - Hur hittar man maximalt med max i Excel VBA?

Innehållsförteckning

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, det här är en kalkylfunktion så den används med kalkylmetoden 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 på 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-inbyggd 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å slutligen 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 blir i meddelandefältet.

Så resultatet är 60.

Från alla angivna nummer, 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 nå 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 använda MAX för att utmärka oss kan vi hitta det på några sekunder.

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

Koden nedan utför 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å maxvärdena månadens namn, 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 duplikatnummer finns 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å använder kalkylbladets funktionsklass.

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

Intressanta artiklar...