Ipahayag ang VBA Array | Paano Magdeklara ng Mga Aray sa VBA?

Ipahayag ang Array ng Excel VBA

Pagdeklara ng array sa VBA ay halos kapareho ng mga variable na ginagawa ng parehong dim na pahayag o static na publiko o pribadong pahayag, ang pagkakaiba lamang sa pagdedeklara ng isang array at pagdeklara ng isang variable ay habang idinedeklara ang isang array kailangan naming magbigay ng isang laki ng isang array na kung saan ay itaas na hangganan ng array at ang mas mababang hangganan ng array.

Sa VBA Code, maaari naming ideklara ang isang solong variable na maaaring hawakan ang bilang ng mga variable sa halip na ideklara ang solong mga variable. Makakatulong ito upang mabawasan ang bilang ng mga linya sa code.

Ang array ay isang uri ng variable na maaaring humawak ng higit sa isang halaga, hindi katulad ng mga regular na variable na maaaring magkaroon ng isang halaga lamang sa bawat oras. Ang array ay isang advanced na bersyon ng pagdedeklara ng mga variable sa VBA. Halimbawa, isipin ang isang sitwasyon kung saan nais mong magtalaga ng 5 mga pangalan ng mag-aaral sa mga variable at sa pangkalahatang pagsasanay, idineklara namin ang limang mga variable para sa lahat ng limang mga variable na itinatalaga namin isa-isang mga pangalan ng mag-aaral, sa ibaba ay ang halimbawa ng code ng pareho.

Code:

 Sub Array_Example () Dim Student1 Bilang String Dim Student2 Bilang String Dim Student3 Bilang String Dim Student4 Bilang String Dim Student5 Bilang String End Sub 

Sa halip na ideklara ang napakaraming mga variable paano ang tungkol sa ideya ng pagdedeklara ng isang solong variable na array na maaaring hawakan ang lahat ng mga pangalan ng mag-aaral.

Oo, posible ito sa pamamagitan ng pagdedeklara ng array sa VBA.

Mga halimbawa

Maaari mong i-download ang VBA Declare Array Excel Template dito - VBA Declare Array Excel Template na ito

Halimbawa # 1

Upang ideklara na hindi namin kailangang gumawa ng anumang espesyal na pag-coding ng VBA sa halip kailangan naming sundin ang mga simpleng konsepto.

Una, simulan ang subprocedure.

Code:

 Sub Array_Example () Tapusin ang Sub 

Ngayon, tulad ng dati, ideklara ang isang variable bilang isang string.

Code:

 Sub Array_Example () Madilim na Mag-aaral Bilang String End Sub 

Kapag naipahayag na ang variable ngayon siguraduhing kung gaano karaming mga halagang dapat itong hawakan. Sa kasong ito, nais kong itago ang mga pangalan ng limang mag-aaral, kaya ngayon kailangan naming ayusin ang laki ng array ie 1 hanggang 5. Magbigay ng parehong bagay sa variable sa mga braket.

Code:

 Sub Array_Example () Madilim na Mag-aaral (1 hanggang 5) Bilang String End Sub 

Ngayon para sa solong variable na ito, maaari kaming mag-imbak ng 5 mga pangalan ng mag-aaral.

Code:

 Sub Array_Example () Dim Student (1 To 5) Bilang String Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = "Anderson" End Sub 

Tingnan kung gaano karaming mga linya ang nabawasan namin sa pamamagitan ng pagdedeklara ng variable bilang isang array. Ito ay isang paraan ng paggawa maaari pa rin nating paikliin ang code na ito sa pamamagitan ng pagpapaloob nito sa loob ng mga loop sa VBA.

Ngayon bilang isang halimbawa, ang parehong limang mga pangalan na mayroon ako sa mga worksheet cell.3

Ngayon nais kong ipakita ang mga numerong ito sa kahon ng mensahe sa VBA, ok ideklara natin ang isa pang variable para sa mga loop bilang uri ng data ng Integer.

Code:

 Sub Array_Example () Dim Student (1 To 5) Bilang String Dim K Bilang Integer End Sub 

Tulad ng dati, pinanatili ko ang variable ng array bilang 1 hanggang 5 laki.

Ngayon bukas para sa SUSUNOD na loop sa VBA at dahil mayroon kaming limang mga pangalan ipasok ang limit bilang 1 hanggang 5.

Code:

 Sub Array_Example () Dim Student (1 To 5) Bilang String Dim K Bilang Integer Para sa K = 1 To 5 Susunod K End Sub 

Upang magtalaga ng mga halaga sa variable ng array hindi namin kailangang sundin ang dating paraan ng pagpapakita ng Mag-aaral (1), ang Mag-aaral (2) tulad nito para sa mga variable na posisyon ng mga loops variable na "k".

Code:

 Sub Array_Example () Dim Student (1 To 5) Bilang String Dim K Bilang Integer Para sa K = 1 To 5 Student (K) = Susunod K End Sub 

Para sa variable na ito ng array kailangan namin ang mga halaga mula sa worksheet, kaya't ang paggamit ng pag-aari ng CELLS makuha ang mga halaga mula sa worksheet.

Code:

 Sub Array_Example () Dim Student (1 To 5) Bilang String Dim K Bilang Integer Para sa K = 1 To 5 Student (K) = Cells (K, 1). Halaga Susunod K End Sub 

Ngayon sa pamamagitan ng kahon ng mensahe ipakita ang halaga ng variable ng array.

Code:

 Sub Array_Example () Dim Student (1 To 5) Bilang String Dim K Bilang Integer Para sa K = 1 To 5 Student (K) = Cells (K, 1). Halagain ang MsgBox Student (K) Susunod na K End Sub 

Patakbuhin ngayon ang code, sa kahon ng mensahe, makikita natin ang unang pangalan. Muli pindutin ang Ok upang makita ang pangalawang pangalan. Tulad nito sa pamamagitan ng pagpindot sa Ok, maaari nating makita ang lahat ng limang mga pangalan.

Halimbawa # 2 - Dalawang Mga Dimensyong Aray

Nakita namin sa itaas kung paano gumagana ang array, ngayon makikita namin ang mga dimensional na arrays. Ang dalawang-dimensional na mga arrays ay nakatuon sa parehong mga hilera at haligi.

Sa halimbawa sa itaas, natutukoy namin ang laki ng array bilang 1 hanggang 5, ito ay maaaring nakatuon sa mga hilera o haligi.

Sa pamamagitan ng paggamit ng dalawang-dimensional na mga array maaari kaming mag-concentrate sa parehong mga hilera at haligi. Para sa mga ito, kailangan nating isara ang dalawang mga loop.

Una, tukuyin ang variable pagkatapos huli magpapasya kami tungkol sa laki ng array.

Code:

 Sub Dalawang_Array_Example () Madilim na Mag-aaral Bilang String End Sub 

Una, magpasya sa laki ng hilera pagkatapos magpasya sa haba ng haligi.

Code:

 Sub Dalawang_Array_Example () Madilim na Mag-aaral (1 Sa 5, 1 hanggang 3) Bilang String End Sub 

Para dito, naayos ko ang data para sa pangalan ng mag-aaral, marka at katayuan sa grade.

Bumalik ngayon sa window ng pag-coding.

Ipahayag ang dalawa pang mga variable para sa isang loop.

Code:

 Sub Dalawang_Array_Example () Madilim na Mag-aaral (1 hanggang 5, 1 hanggang 3) Bilang String Dim K Bilang Integer, J Bilang Integer End Sub 

I-enclose ngayon ang loop tulad ng ipinakita sa ibaba.

Code:

 Sub Two_Array_Example () Dim Student (1 To 5, 1 To 3) Bilang String Dim k Bilang Integer, J Bilang Integer Para sa k = 1 hanggang 5 Para sa J = 1 To 3 Worksheets ("Listahan ng Mag-aaral"). Piliin ang Mag-aaral (k, J) = Mga Cell (k, J). Mga Value Worksheet ("Copy Sheet"). Piliin ang Mga Cell (k, J). Value = Student (k, J) Susunod J Susunod k End Sub 

Ang gagawin nito ay kopyahin nito ang data mula sa sheet na "Listahan ng Mag-aaral" at i-paste sa "Copy Sheet".

Bagay na dapat alalahanin

  • Ang array ay isang malawak na konsepto, ito ay isang pambungad lamang na bahagi.
  • Kailangan mo ng mga advanced na kasanayan sa pag-coding upang maunawaan ang deklarasyon ng array.
  • Ang mas maraming paggamit ng mga arrays sa iyong code ay mas masasanay ka rito.