VBA Max

Max, jak sama nazwa wskazuje, służy do znalezienia maksymalnej wartości z danego zestawu danych lub tablicy, jest to funkcja arkusza, więc jest używana z metodą arkusza jako funkcją arkusza roboczego, istnieje ograniczenie tej metody, ponieważ funkcja przyjmuje tablicę jako argument, w tablicy może być tylko 30 wartości.

Funkcja Excel VBA Max

W programie Excel mamy kilka funkcji numerycznych. Możemy policzyć wartości liczbowe w zakresie, możemy zsumować, a także możemy znaleźć wartość minimalną, a także maksymalną wartość partii. Aby znaleźć maksymalną wartość partii, mamy funkcję programu Excel o nazwie MAX, która zwróci maksymalną wartość podanego zakresu liczb. W VBA nie mamy żadnej wbudowanej funkcji o nazwie „MAX”, aby uzyskać maksymalną liczbę. Zobaczymy, jak korzystać z tej funkcji Excel VBA Max.

Przykład funkcji Max w Excel VBA

Niestety, nie mamy luksusu używania MAX jako wbudowanej funkcji VBA, ale możemy uzyskać dostęp do tej funkcji jako część klasy Worksheet Function.

Teraz spójrz na poniższy kod.

Kod:

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

W powyższym przykładzie zadeklarowałem trzy zmienne do przechowywania liczby.

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

Zadeklarowałem jeszcze jedną zmienną, aby pokazać wyniki.

Wynik ściemniania jako liczba całkowita.

Pierwszym trzem zmiennym przypisałem wartości odpowiednio 50, 25 i 60.

a = 50 b = 25 c = 60

W następnym wierszu zastosowałem MAX jako klasę funkcji arkusza VBA, aby zapisać wynik w zmiennej „Wynik”.

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

W końcu pokazuję wartość w oknie komunikatu w VBA. Wynik MsgBox

Teraz uruchomię ten kod za pomocą F5 lub ręcznie i zobaczę, jaki jest wynik w oknie komunikatu.

Tak więc wynik to 60.

Ze wszystkich podanych liczb, czyli 50, 25 i 60, maksymalna liczba to 60.

Zaawansowany przykład Max w Excel VBA

Pętle są bardzo ważne w VBA, aby przejść przez wszystkie komórki i uzyskać wynik. Zobaczymy, jak połączyć VBA MAX z pętlami, aby uzyskać maksymalną wartość z listy liczb.

Mam listę przedmiotów i ich miesięczną wydajność sprzedaży tych przedmiotów, jak pokazano poniżej.

Teraz dla każdego przedmiotu chcę wiedzieć, jaka jest maksymalna liczba sprzedaży w ciągu 4 miesięcy, jak pokazano na rysunku.

Dzięki zastosowaniu MAX w Excelu możemy to znaleźć w kilka sekund.

Teraz zobaczymy, jak znaleźć maksymalną wartość za pomocą kodu VBA.

Poniższy kod wykona zadanie znalezienia maksymalnej liczby dla każdej pozycji.

Kod:

 Sub MAX_Example2 () Dim k As Integer For k = 2 to 9 Cells (k, 7) .Value = WorksheetFunction.Max (Range ("A" & k & ":" & "E" & k)) Next k End Sub 

Pozwoli to łatwo zidentyfikować maksymalną liczbę.

Teraz uruchom kod ręcznie lub naciśnij klawisz F5 i zobacz wynik, jak pokazano poniżej.

Aby uzyskać maksymalne wartości nazwy miesiąca, użyj poniższego kodu.

Kod:

 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 _ (Cells (k, 7) .Value, Range ("B" & k & ":" & "E" & k) )) Dalej k End Sub 

Na podstawie wartości podanej przez funkcję VBA max funkcja INDEKS i funkcja PODAJ.POZYCJĘ zwrócą powiązany miesiąc w następnym wierszu.

Rzeczy do zapamiętania

  • Jeśli jest tam ich zduplikowany numer, pokaże tylko jeden numer, który jest pierwszy.
  • To jest odwrotna formuła funkcji MIN w programie Excel.
  • MAX nie jest funkcją VBA, jest to funkcja wbudowana w programie Excel, więc używana jest klasa funkcji arkusza.

Możesz pobrać ten szablon Excela tutaj - szablon funkcji VBA Max