ВБА Мак функција | Како пронаћи максимум користећи Мак у програму Екцел ВБА?

Мак, као што и само име говори, користи се за откривање максималне вредности из датог скупа података или низа, ово је функција радног листа, па се користи са методом радног листа као функција радног листа, а овај метод има ограничење функција узима низ као аргумент, у низу може бити само 30 вредности.

Екцел ВБА Мак функција

У Екцелу имамо неколико нумеричких функција. Можемо да избројимо нумеричке вредности у опсегу, можемо да збројимо и можемо да пронађемо минималну вредност као и максималну вредност лота. Да бисмо пронашли максималну вредност лота, имамо екцел функцију звану МАКС која враћа максималну вредност испорученог опсега бројева. У ВБА немамо уграђену функцију која се назива „МАКС“ да бисмо добили максималан број. Видећемо како да користимо ову Екцел ВБА Мак функцију.

Пример максималне функције у програму Екцел ВБА

Нажалост, немамо луксуз да користимо МАКС као уграђену ВБА функцију, али можемо јој приступити као део класе Функције радног листа.

Сада погледајте доњи код.

Шифра:

 Суб МАКС_Екампле1 () Дим а Ас Интегер Дим б Ас Интегер Дим ц Ас Интегер Дим Ресулт Ас Интегер а = 50 б = 25 ц = 60 Ресулт = ВорксхеетФунцтион.Мак (а, б, ц) МсгБок Ресулт Енд Суб 

У горњем примеру сам прогласио три променљиве за чување броја.

Затамни као цео бројДим б Ас ИнтегерДим ц Ас Интегер

Прогласио сам још једну променљиву за приказ резултата.

Затамни резултат као целобројно.

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

а = 50б = 25ц = 60

У следећем реду сам применио МАКС као класу функција ВБА радног листа за чување резултата у променљивој „Резултат“.

Резултат = ВорксхеетФунцтион.Мак (а, б, ц)

Тако коначно приказујем вредност у оквиру за поруке у ВБА. Резултат МсгБок-а

Сада ћу покренути овај код помоћу Ф5 или ручно и видети какав је резултат у оквиру за поруке.

Дакле, резултат је 60.

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

Напредни пример максима у програму Екцел ВБА

Петље су у ВБА веома важне за пролазак кроз све ћелије и долазак до резултата. Видећемо како да комбинујемо ВБА МАКС са петљама да бисмо добили максималну вредност са листе бројева.

Имам списак предмета и њихов месечни учинак продаје тих предмета као што је приказано у наставку.

Сада за сваку ставку желим да знам колики је максимални број продаје током 4 месеца, као што је приказано на слици.

Применом МАКС-а у екцелу то можемо пронаћи за неколико секунди.

Сада ћемо видети како да пронађемо максималну вредност помоћу ВБА кода.

Испод кода извршиће задатак проналажења максималног броја за сваку ставку.

Шифра:

 Суб МАКС_Екампле2 () Дим к као цео број за к = 2 до 9 ћелија (к, 7) .Валуе = ВорксхеетФунцтион.Мак (Распон ("А" & к & ":" & "Е" & к)) Следећи к Крај Суб 

Ово ће лако идентификовати максималан број.

Сада покрените код ручно или притисните тастер Ф5 и погледајте резултат као што је приказано доле.

Да бисте добили максималне вредности назив месеца, користите доњи код.

Шифра:

 Суб МАКС_Екампле2 () Дим к као целобројно за к = 2 до 9 ћелија (к, 7) .Валуе = ВорксхеетФунцтион.Мак (Распон ("Б" & к & ":" & "Е" & к)) Ћелије (к, 8) .Валуе = ВорксхеетФунцтион.Индек (Распон ("Б1: Е1"), ВорксхеетФунцтион.Матцх _ (Ћелије (к, 7). Вредност, опсег ("Б" & к & ":" & "Е" & к) )) Следећи к Крај Суб 

На основу вредности коју пружа функција ВБА мак, функција ИНДЕКС и функција МАТЦХ враћају придружени месец у следећем реду.

Ствари које треба запамтити

  • Ако је њихов дупликат број, он ће показати само један број који је први.
  • Ово је супротна формула функције МИН у екцелу.
  • МАКС није ВБА функција, то је уграђена функција у екцелу, па помоћу класе функција радног листа.

Овај Екцел образац можете преузети овде - ВБА Мак Фунцтион Темплате