VBA Max Function | Paano Makahanap ng Maximum Gamit ang Max sa Excel VBA?

Ang Max, tulad ng ipinahihiwatig ng pangalan, ay ginagamit upang malaman ang maximum na halaga mula sa isang naibigay na hanay ng data o isang array, ito ay isang pag-andar ng worksheet kaya't ginagamit ito sa pamamaraan ng worksheet bilang pagpapaandar ng worksheet, mayroong isang limitasyon sa pamamaraang ito tulad nito Ang function ay tumatagal ng isang array bilang isang argument doon ay maaari lamang maging 30 mga halaga sa array.

Pag-andar ng Excel VBA Max

Mayroon kaming maraming mga pagpapaandar sa bilang sa excel. Maaari nating bilangin ang mga halagang may bilang sa saklaw, maaari nating kabuuan, at mahahanap natin ang minimum na halaga pati na rin ang maximum na halaga ng lote. Upang mahanap ang maximum na halaga ng maraming mayroon kaming isang excel function na tinatawag na MAX na ibabalik ang maximum na halaga ng ibinibigay na saklaw ng mga numero. Sa VBA wala kaming built-in na function na tinatawag na "MAX" upang makuha ang maximum na numero. Makikita natin kung paano gamitin ang Excel VBA Max Function na ito.

Halimbawa ng Max Function sa Excel VBA

Sa kasamaang palad, wala kaming luho sa paggamit ng MAX bilang built-in na function ng VBA ngunit maaari naming ma-access ang pagpapaandar na ito bilang bahagi ng klase ng Worksheet Function.

Ngayon, tingnan ang code sa ibaba.

Code:

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

Sa halimbawa sa itaas, idineklara ko ang tatlong mga variable upang maiimbak ang numero.

Dim isang Bilang IntegerDim b Bilang IntegerDim c Bilang Integer

Nagdeklara ako ng isa pang variable upang maipakita ang mga resulta.

Dim Resulta Bilang Integer.

Para sa unang 3 tatlong variable, naitalaga ko ang halagang tulad ng 50, 25, at 60 ayon sa pagkakabanggit.

a = 50b = 25c = 60

Sa susunod na linya, inilapat ko ang MAX bilang isang klase ng pagpapaandar ng worksheet ng VBA upang maiimbak ang resulta sa variable na "Resulta".

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

Kaya't sa wakas ay ipinapakita ko ang halaga sa kahon ng mensahe sa VBA. Resulta ng MsgBox

Ngayon ay tatakbo ko ang code na ito gamit ang F5 o manu-mano at makita kung ano ang resulta sa kahon ng mensahe.

Kaya, ang resulta ay 60.

Mula sa lahat ng mga ibinigay na numero hal. 50, 25, at 60, ang maximum na bilang ay 60.

Advanced na Halimbawa ng Max sa Excel VBA

Napakahalaga ng mga loop sa VBA upang mapatakbo ang lahat ng mga cell at maabot ang resulta. Makikita natin kung paano pagsamahin ang VBA MAX sa mga loop upang makarating sa maximum na halaga mula sa listahan ng mga numero.

Mayroon akong isang listahan ng mga item at ang kanilang buwanang pagganap ng mga benta ng mga item tulad ng ipinakita sa ibaba.

Ngayon para sa bawat item, nais kong malaman kung ano ang maximum na bilang ng pagbebenta sa loob ng 4 na buwan tulad ng ipinakita sa larawan.

Sa pamamagitan ng paglalapat ng MAX sa excel mahahanap natin ito sa loob ng ilang segundo.

Ngayon makikita natin kung paano hanapin ang maximum na halaga sa pamamagitan ng paggamit ng VBA code.

Gagawa sa ibaba ng code ang gawain ng paghahanap ng maximum na numero para sa bawat item.

Code:

 Sub MAX_Example2 () Dim k Bilang Integer Para sa k = 2 To 9 Cells (k, 7). Halaga = WorksheetFunction.Max (Saklaw ("A" & k & ":" & "E" & k)) Susunod k End Sub 

Madali nitong makikilala ang maximum na numero.

Manu-manong patakbuhin ang code o pindutin ang F5 key at tingnan ang resulta tulad ng ipinakita sa ibaba.

Upang makuha ang maximum na halaga ng pangalan ng buwan gamitin ang code sa ibaba.

Code:

 Sub MAX_Example2 () Dim k Bilang Integer Para sa k = 2 To 9 Cells (k, 7). Halaga = WorksheetFunction.Max (Saklaw ("B" & k & ":" & "E" & k)) Mga Cell (k, 8) .Value = WorksheetFunction.Index (Saklaw ("B1: E1"), WorksheetFunction.Match _ (Cells (k, 7). Value, Saklaw ("B" & k & ":" & "E" & k) )) Susunod k End Sub 

Batay sa halagang ibinigay ng pagpapaandar ng VBA max, ibabalik ng pagpapaandar ng INDEX at pag-andar ng MATCH ang nauugnay na buwan sa susunod na linya.

Bagay na dapat alalahanin

  • Kung ang kanilang mga dobleng numero ay naroroon ipapakita lamang ang isang numero na mauuna.
  • Ito ang kabaligtaran na pormula ng pagpapaandar ng MIN sa excel.
  • Ang MAX ay hindi isang pagpapaandar ng VBA, ito ay isang built-in na pagpapaandar sa excel, kaya gumagamit ng klase ng pagpapaandar ng worksheet.

Maaari mong i-download ang Excel Template na ito dito - VBA Max Function Template