VBA Arrays sa Excel | Paano Magtrabaho sa Mga Arrays Function sa VBA?

Sa mga array ng VBA ay ginagamit upang tukuyin ang pangkat ng mga bagay na magkakasama, mayroong siyam na magkakaibang mga pagpapaandar ng array sa VBA at sila ay ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT at UBOUND, lahat ng mga ito ay inbuilt na function para sa array sa VBA, ang Array function ay nagbibigay sa amin ng halaga para sa ibinigay na argument.

Pag-andar ng Excel VBA Array

Ang function ng Array ay isang koleksyon ng mga halaga sa isang solong variable. Maaari kaming magbigay ng isang array sa isang Subroutine sa vba, Mga Pag-andar, at Mga Katangian. Ang VBA Arrays ay isa sa mga madalas na ginagamit na diskarte upang mag-imbak ng higit sa isang halaga sa variable.

Mga halimbawa ng Excel VBA Array Function

Sa halip na ideklara ang maraming mga variable at maiimbak ang mga halaga, maaari naming gamitin ang Excel VBA array upang maiimbak ang halaga sa isang solong variable mismo. Halimbawa, tingnan ang halimbawa sa ibaba

Maaari mong i-download ang VBA Array Excel Template dito - VBA Array Excel Template

Code:

 Sub Array_Ex () Dim x Bilang Integer Dim y Bilang Integer x = 1 y = 2 Saklaw ("A1"). Halaga = x Saklaw ("A2"). Halaga = y End Sub 

Sa halimbawa sa itaas, idineklara ko ang dalawang variable na tinatawag na x & y. Hawak ng X ang 1 bilang halaga at ang Y ay mayroong 2 bilang ang halaga.

Ngayon, tingnan ang halimbawa ng pag-andar ng Excel VBA array na may isang solong variable.

Code:

 Sub Array_Ex () Dim x (1 To 2) Bilang Saklaw ng Integer ("A1"). Halaga = x (1) Saklaw ("A2"). Halaga = x (2) Wakas na Sub 

Ngayon kung patakbuhin mo ang VBA code na ito magkakaroon kami ng mga halaga sa cell A1 & A2.

Ang mga variable ng Array ay nagbalik ng resulta bilang zero. Ito ay dahil idineklara lamang namin ang mga variable bilang dalawa ngunit hindi kami nakatalaga ng anumang mga halaga sa mga variable na iyon. Kaya kailangan naming magtalaga ng mga halaga sa mga variable na ito.

Code:

 Sub Array_Ex () Dim x (1 To 2) Bilang Integer x (1) = 10 x (2) = 20 Saklaw ("A1"). Halaga = x (1) Saklaw ("A2"). Halaga = x (2 ) Tapusin ang Sub 

Patakbuhin ngayon ang code upang makakuha ng mga resulta.

Bago namin ipasok ang mga halaga ng mga variable ng array sa mga cell kailangan naming italaga ang halaga sa mga idineklarang variable ng array tulad ng pagtatalaga namin ng mga variable x (1) = 10 & x (2) = 20.

Halimbawa # 1 - Ipasok ang Mga Serial na Numero Gamit ang Static Array

Tingnan natin ang halimbawa ng paggamit ng isang static na array upang magsingit ng mga serial number. Ito ay katulad ng dati.

Code:

 Sub StaticArray_Ex () Dim x (1 To 5) Bilang Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Saklaw ("A1"). Halaga = x (1) Saklaw ("A2"). Halaga = x (2) Saklaw ("A3"). Halaga = x (3) Saklaw ("A4"). Halaga = x (4) Saklaw ("A5" ) .Value = x (5) End Sub 

Patakbuhin ngayon ang code na ito upang magsingit ng mga serial number.

Halimbawa # 2 - Ipasok ang Mga Serial na Numero Gamit ang Dynamic Array

Ngayon ay makikita natin ang pangalawang uri ng array hal. Pabagu-bago ng array

Code:

 Sub DynamicArray_Ex () Dim x () Bilang Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1" ) .Value = x (1) Saklaw ("A2"). Halaga = x (2) Saklaw ("A3"). Halaga = x (3) Saklaw ("A4"). Halaga = x (4) Saklaw (" A5 "). Halaga = x (5) End Sub 

Patakbuhin ngayon ang code na ito upang makuha ang resulta ng mga serial number. Nakukuha namin ang parehong resulta tulad ng naunang isa.

Kung napansin mong hindi namin naibigay ang haba ng array habang idinedeklara ang variable sa halip na itinalaga namin ang huling halaga ng VBA array gamit ang VBA Redim function. Hawak ng Redim ang huling halaga ng array na maipapasa.

Halimbawa # 3 - Lumikha ng isang Pag-andar Ipasok ang Mga Pangalan ng Buwan Gamit ang Array

Nakita namin kung paano magtrabaho kasama ang mga arrays sa VBA. Ngayon makikita natin kung paano magtrabaho kasama ang isang array upang lumikha ng isang pagpapaandar ng VBA sa Excel. Ang pagpapaandar ay walang anuman kundi isang function na tinukoy ng gumagamit sa VBA. Bukod sa paggamit ng built-in na mga pagpapaandar excel VBA ay nagbibigay-daan sa amin upang lumikha din ng aming sariling mga pag-andar.

Code:

 Listahan ng Pag-andar_Of_Months () List_Of_Months = Array ("Jan", "Peb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov "," Dis ") Tapusin ang Pag-andar 

Ang code sa ibaba ay lilikha ng isang pagpapaandar na maaaring magpasok ng mga buwan sa aming excel sheet.

Kopyahin at i-paste ang code sa ibaba sa iyong module.

Ngayon ay i-save ang code na ito at isara ang VBA Editor. Matapos isara ang editor ng VBA pumunta sa worksheet at i-type ang pormula na nilikha lamang namin at dapat mong makita ang tawag sa formula List_Of_Months sa iyong worksheet.

Buksan ang formula at pindutin ang enter. Makukuha namin ang unang buwan na pangalan ibig sabihin ay Jan

Kung isingit mo ang formula nang isang beses pa rin makukuha namin ang Jan hindi lamang sa susunod na buwan Peb. Kaya pumili muna ng 12 mga haligi sa isang hilera.

Ngayon buksan ang formula sa D1 cell.

Dahil nilikha namin ang formula sa array kailangan namin upang isara ang mga formula bilang formula ng array lamang. Kaya hawakan Ctrl + Shift + Enter. Magkakaroon kami ng lahat ng 12 buwan na pangalan.

Bagay na dapat alalahanin

  • Mayroong dalawang higit pang mga uri ng array na magagamit hal. Dalawang-dimensional na array at multi-dimensional na array.
  • Ang mga array ay nagsisimula sa 0 hindi mula sa 1. Ang ibig sabihin ng zero ay ang unang hilera at ang unang haligi.
  • Ang array ay isang malaking paksa na kailangan mo upang maunawaan ito upang sumulong sa susunod na antas.
  • Ang variable ng Array ay magiging isa na nagtataglay ng maraming data sa tuwing umusad ito sa susunod na antas.
  • Ginagamit ang Redim upang maiimbak ang huling haba ng array sa uri ng pabagu-bago ng array.