Максимална функция на VBA - Как да намерим максимално използване на Max в Excel VBA?

Max, както подсказва името, се използва за откриване на максималната стойност от даден набор от данни или масив, това е функция на работен лист, така че се използва с метода на работния лист като функция на работен лист, има ограничение за този метод, тъй като функция приема масив като аргумент, в масива може да има само 30 стойности.

Максимална функция на Excel VBA

Имаме няколко цифрови функции в Excel. Можем да броим числови стойности в диапазона, можем да сумираме и можем да намерим минималната стойност, както и максималната стойност на партидата. За да намерим максималната стойност на партидата, имаме функция на Excel, наречена MAX, която ще върне максималната стойност на предоставения диапазон от числа. Във VBA нямаме вградена функция, наречена „MAX“, за да получим максималния брой. Ще видим как да използваме тази функция на Excel VBA Max.

Пример за максимална функция в Excel VBA

За съжаление нямаме лукса да използваме MAX като вградена функция на VBA, но можем да получим достъп до тази функция като част от класа на Worksheet Function.

Сега вижте кода по-долу.

Код:

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

В горния пример съм декларирал три променливи за съхраняване на числото.

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

Декларирах още една променлива, за да покажа резултатите.

Затъмнете резултата като цяло число.

За първите 3 три променливи съм присвоил стойности като 50, 25 и 60, съответно.

a = 50  b = 25  c = 60

В следващия ред приложих MAX като клас функция на VBA работен лист за съхраняване на резултата към променливата „Резултат“.

Резултат = WorksheetFunction.Max (a, b, c)

И накрая, показвам стойността в полето за съобщения във VBA. Резултат от MsgBox

Сега ще стартирам този код с F5 или ръчно и ще видя какъв е резултатът в полето за съобщения.

Така че резултатът е 60.

От всички предоставени номера, т.е. 50, 25 и 60, максималният брой е 60.

Разширен пример за Max в Excel VBA

Циклите са много важни във VBA, за да преминат през всички клетки и да стигнат до резултата. Ще видим как да комбинираме VBA MAX с цикли, за да стигнем до максималната стойност от списъка с числа.

Имам списък с артикули и тяхното месечно представяне на продажбите на тези артикули, както е показано по-долу.

Сега за всеки артикул искам да знам какъв е максималният брой на продажбите за 4 месеца, както е показано на снимката.

Като приложим MAX към Excel, можем да намерим това за няколко секунди.

Сега ще видим как да намерим максималната стойност с помощта на VBA код.

Кодът по-долу ще изпълни задачата за намиране на максималния брой за всеки елемент.

Код:

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

Това лесно ще идентифицира максималния брой.

Сега стартирайте кода ръчно или натиснете клавиша F5 и вижте резултата, както е показано по-долу.

За да получите името на месеца на максималните стойности, използвайте кода по-долу.

Код:

Sub MAX_Example2 () Dim k As Integer For k = 2 To 9 Cells (k, 7) .Value = WorksheetFunction.Max (Range ("B" & k & ":" & "E" & k)) Клетки (k, 8) .Value = WorksheetFunction.Index (Обхват ("B1: E1"), WorksheetFunction.Match _ (Клетки (k, 7). Стойност, обхват ("B" & k & ":" & "E" & k) )) Следващ k Край Sub

Въз основа на стойността, предоставена от функцията VBA max, функцията INDEX функция & MATCH ще върне съответния месец в следващия ред.

Неща за запомняне

  • Ако дублиращият им номер е там, той ще покаже само един номер, който е на първо място.
  • Това е обратната формула на функцията MIN в Excel.
  • MAX не е функция на VBA. Това е вградена функция в Excel, така че използвайте клас функции на работния лист.

Можете да изтеглите този шаблон на Excel оттук - VBA Max Function Template.

Интересни статии...