VBA Max-funktion - Hvordan finder man maksimalt ved hjælp af maks i Excel VBA?

Indholdsfortegnelse

Max, som navnet antyder, bruges til at finde ud af den maksimale værdi fra et givet datasæt eller en matrix, dette er en regnearksfunktion, så den bruges med regnearksmetoden som regnearksfunktion, der er en begrænsning for denne metode, da denne funktion tager en matrix som et argument, der kan kun være 30 værdier i matrixen.

Excel VBA Max-funktion

Vi har flere numeriske funktioner i Excel. Vi kan tælle numeriske værdier i området, vi kan summe, og vi kan finde minimumsværdien samt den maksimale værdi af partiet. For at finde den maksimale værdi af partiet har vi en excel-funktion kaldet MAX, som returnerer den maksimale værdi af det leverede talinterval. I VBA har vi ingen indbygget funktion kaldet “MAX” for at få det maksimale antal. Vi vil se, hvordan du bruger denne Excel VBA Max-funktion.

Eksempel på maks. Funktion i Excel VBA

Desværre har vi ikke den luksus at bruge MAX som den indbyggede VBA-funktion, men vi kan få adgang til denne funktion som en del af arbejdsarkets funktionsklasse.

Se nu på nedenstående kode.

Kode:

Sub MAX_Example1 () Dim a Som Integer Dim b Som Integer Dim c Som Integer Dim Resultat Som Integer a = 50 b = 25 c = 60 Resultat = WorksheetFunction.Max (a, b, c) MsgBox Resultat End Sub

I ovenstående eksempel har jeg erklæret tre variabler for at gemme nummeret.

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

Jeg har erklæret endnu en variabel for at vise resultaterne.

Dæmpet resultat som heltal.

For de første tre tre variabler har jeg tildelt værdien henholdsvis 50, 25 og 60.

a = 50  b = 25  c = 60

I den næste linje har jeg anvendt MAX som en VBA-regnearksfunktionsklasse til at gemme resultatet i variablen "Resultat."

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

Så endelig viser jeg værdien i meddelelsesboksen i VBA. MsgBox-resultat

Nu kører jeg denne kode ved hjælp af F5 eller manuelt og ser, hvad resultatet er i meddelelsesboksen.

Så resultatet er 60.

Fra alle de leverede tal, dvs. 50, 25 og 60, er det maksimale antal 60.

Avanceret eksempel på maks i Excel VBA

Sløjfer er meget vigtige i VBA for at løbe gennem alle cellerne og nå frem til resultatet. Vi vil se, hvordan man kombinerer VBA MAX med sløjfer for at nå frem til den maksimale værdi fra listen over numre.

Jeg har en liste over varer og deres månedlige salgsresultater for disse varer, som vist nedenfor.

Nu for hver vare vil jeg vide, hvad det maksimale salgstal er over 4 måneder, som vist på billedet.

Ved at anvende MAX til at udmærke os, kan vi finde dette på få sekunder.

Nu vil vi se, hvordan man finder den maksimale værdi ved hjælp af VBA-kode.

Nedenstående kode udfører opgaven med at finde det maksimale antal for hver vare.

Kode:

Sub MAX_Example2 () Dim k som heltal For k = 2 til 9 celler (k, 7). Værdi = WorksheetFunction.Max (Range ("A" & k & ":" & "E" & k)) Næste k End Sub

Dette identificerer let det maksimale antal.

Kør nu koden manuelt eller tryk på F5-tasten og se resultatet som vist nedenfor.

Brug nedenstående kode for at få månedens maksimale værdier.

Kode:

Sub MAX_Example2 () Dim k som heltal For k = 2 til 9 celler (k, 7). Værdi = 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æste k Afslut sub

Baseret på værdien leveret af VBA max-funktionen returnerer INDEX-funktionen & MATCH-funktionen den tilknyttede måned i den næste linje.

Ting at huske

  • Hvis deres duplikatnummer er der, viser det kun et nummer, der kommer først.
  • Dette er den modsatte formel for MIN-funktionen i excel.
  • MAX er ikke en VBA-funktion. Det er en indbygget funktion i Excel, så brug regnearkets funktionsklasse.

Du kan downloade denne Excel-skabelon her - VBA Max-funktionsskabelon.

Interessante artikler...