Habayn ku jirta Visual Basic ee Codsiga

Arrays in Visual Basic for Application waa dhismayaal sida caadiga ah kaydiya noocyo doorsoomayaal la xidhiidha oo isku nooc ah. Gelitaannada habaysan waxa lagu galaa tusmahooda tirooyinka.

Tusaale ahaan, waxaa jira koox ka kooban 20 qof oo magacyadooda loo baahan yahay in la keydiyo si hadhow loogu isticmaalo koodka VBA. Mid ayaa si fudud ugu dhawaaqi kara 20 doorsoome si uu u qabto magac kasta, sida:

Dim Team_Xubin1 Sida Xadhkaha Dim Team_Xubin2 Sida Xadhkaha

Laakin waxaad isticmaali kartaa hab ka fudud oo habaysan – ku kaydi liiska magacyada xubnaha kooxda oo ah 20 doorsoomayaal sida string:

Kooxda_xubnaha (1 ilaa 20) Dim Sida Xarig

Sadarka sare ka muuqda, waxaanu ku dhawaaqnay habayn. Haddaba aan u qorno mid kasta oo ka mid ah qiimihiisa, sida tan:

Kooxda_Xubnaha(1) = "John Smith"

Faa'iidada dheeraadka ah ee kaydinta xogta ee shaxanka, marka la barbar dhigo isticmaalka doorsoomayaasha kala duwan, waxay soo baxaysaa marka ay lagama maarmaan noqoto in la sameeyo fal isku mid ah qayb kasta oo ka mid ah shaxanka. Haddii magacyada xubnaha kooxda lagu kaydiyo 20 doorsoome oo kala duwan, markaas waxay qaadanaysaa 20 sadar oo kood ah si ay u qoraan mar kasta si ay u sameeyaan fal isku mid ah mid kasta oo iyaga ka mid ah. Si kastaba ha noqotee, haddii magacyada lagu kaydiyo array, markaa waxaad samayn kartaa ficilka la rabo mid kasta oo iyaga ka mid ah adoo isticmaalaya wareeg fudud.

Sida ay u shaqeyso ayaa hoos lagu muujiyay tusaale kood ah oo u daabaca magacyada xubin kasta oo kooxeed unugyada tiirka. A xaashida shaqada ee Excel firfircoon.

Loogu talagalay i = 1 Ilaa 20 unug (i,1) .Qiimaha = Kooxda_Xubnaha(i) Xiga i

Sida cad, la shaqaynta qalab kaydiya 20 magac ayaa aad uga dhib yar kana saxsan marka loo eego isticmaalka 20 doorsoome oo kala duwan. Laakiin maxaa dhacaya haddii magacyadani aysan ahayn 20, laakiin ay yihiin 1000? Oo haddii, marka lagu daro, loo baahan yahay in la dhawro magacyada iyo aabbaha si gooni ah?! Way caddahay in ay si dhakhso ah u noqon doonto mid aan suurtagal ahayn in la maareeyo mugga xogta noocaas ah ee code-ka VBA iyada oo aan la helin caawimo habaysan.

Arrays Multimimensional ee Excel Visual Basic

Qaabka Aasaasiga ah ee Visual-ka ee kor looga hadlay waxa loo tixgaliyaa hal-cabbir. Taas macnaheedu waa inay kaydiyaan liis fudud oo magacyo ah. Si kastaba ha ahaatee, arraysku waxay yeelan karaan cabbirro kala duwan. Tusaale ahaan, kala-duwan laba-cabbir ah ayaa la barbar dhigi karaa xarkaha qiyamka.

Aynu sheegno inaad rabto inaad kaydiso tirooyinka iibka maalinlaha ah ee Janaayo 5 kooxood oo kala duwan. Tani waxay u baahan doontaa shax laba-cabbir ah oo ka kooban 5 qaybood oo cabbir ah muddo 31 maalmood ah. Aan ku dhawaaqno array sida tan:

Dim Jan_Sales_Sales(1 ilaa 31, 1 ilaa 5) Lacag ahaan

Si aad u gasho curiyayaasha diyaarsan Jaantusyada_Iibka, waxaad u baahan tahay inaad isticmaasho laba tilmaame oo tilmaamaya maalinta bisha iyo lambarka amarka. Tusaale ahaan, ciwaanka shay ka kooban tirooyinka iibka 2-ah kooxaha loogu talagalay 15 aad January waxa loo qori lahaa sidan:

Jaantus_Iibka (15, 2)

Si la mid ah, waxaad ku dhawaaqi kartaa array leh 3 ama ka badan cabbir - kaliya ku dar cabbiro dheeri ah ku dhawaaqida diyaarinta oo isticmaal tusmooyinka dheeraadka ah si aad u tixraacdo cunsurrada shaxdan.

Ku dhawaaqida Arrays ee Excel Visual Basic

Horaantii maqaalkan, waxaan horay u eegnay dhowr tusaale oo ku saabsan ku dhawaaqida arrays ee VBA, laakiin mawduucan wuxuu u qalmaa in si dhow loo eego. Sida la muujiyay, array hal-gees ah ayaa lagu dhawaaqi karaa sidan:

Kooxda_xubnaha (1 ilaa 20) Dim Sida Xarig

Caddaynta caynkaas ah waxay u sheegaysaa isu-duwaha VBA in ay isku dubarideen Kooxda_Xubnaha Waxa uu ka kooban yahay 20 doorsoome oo laga heli karo tusmooyinka 1 ilaa 20. Si kastaba ha ahaatee, waxa laga yaabaa in aan ku fikirno in aan tiro koobno ​​doorsoomayaashayada 0 ilaa 19, markaas oo habayntu waa in lagu dhawaaqaa sidan:

Kooxda_xubnaha (0 ilaa 19) Dim Sida Xarig

Dhab ahaantii, sida caadiga ah, nambarada curiyeyaasha araygu waxay ka bilaabmaan 0, iyo ku dhawaaqida array, tusmada bilowga ah waxaa laga yaabaa in aan la cayimin gabi ahaanba, sida tan:

Kooxda_Dim_Xubnaha(19) Sida Xadhig ahaan

Isku-dubaridiyaha VBA wuxuu ula dhaqmi doonaa gelitaankan sida ku dhawaaqida 20 walxood oo kala duwan oo leh tusmooyin min 0 ilaa 19 ah.

Xeerar isku mid ah ayaa lagu dabaqaa marka lagu dhawaaqayo arrays-muuqaal muuqaal ah oo badan. Sida horeba loogu muujiyey mid ka mid ah tusaalooyinka, marka lagu dhawaaqayo xayndaab laba-geesood ah, tusmooyinka cabbirkeeda waxaa lagu kala saaraa jumlad:

Dim Jan_Sales_Sales(1 ilaa 31, 1 ilaa 5) Lacag ahaan

Si kastaba ha ahaatee, haddii aadan qeexin tusaha bilowga ee labada cabbir ee shaxanka oo u caddeeyo sidan:

Dim Jan_Sales_Sales(31, 5) Lacag ahaan

ka dib gelitaankan waxa loola dhaqmayaa sidii laba-geesood oo kala duwan, oo cabbirka koowaad ka kooban yahay 32 curiye oo leh tusmooyin min 0 ilaa 31 ah, cabbirka labaadna waxa uu ka kooban yahay 6 curiye oo leh index 0 ilaa 5.

Arriimaha firfircoon

Dhammaan shaxanka tusaalayaasha sare waxay leeyihiin tiro go'an oo cabbir ah. Si kastaba ha ahaatee, marar badan hore uma garanayno inta ay le'eg tahay qaabkayaga. Waxaan xaaladda uga bixi karnaa innagoo ku dhawaaqayna hannaan aad u weyn, oo cabbirkeedu hubaal ka weynaan doono inta lagama maarmaanka u ah hawshayada. Laakiin xalka noocan oo kale ah wuxuu u baahan doonaa xasuus badan oo dheeri ah wuxuuna hoos u dhigi karaa barnaamijka. Waxaa jira xal ka wanaagsan. Waxaan isticmaali karnaa hannaan firfircoon - tani waa array cabbirkiisa la dejin karo oo la beddeli karo tiro kasta oo jeer ah inta lagu jiro fulinta makro.

Aray firfircooni leh ayaa lagu dhawaaqaa iyadoo wadata qawlado madhan, sida tan:

Kooxda_xubnaha () Dim Sidring

Marka xigta, waxaad u baahan doontaa inaad ku dhawaaqdo cabbirka shaxanka inta lagu jiro fulinta koodka adoo isticmaalaya tibaaxaha Dib-u-Dim:

Dib-u-Dim Kooxda_Xubnaha (1 ilaa 20)

Iyo haddii inta lagu jiro fulinta koodhka aad u baahan tahay inaad beddesho cabbirka array-ga mar labaad, markaa waxaad mar kale isticmaali kartaa muujinta ReDim:

Haddi Tirada Kooxda

Maskaxda ku hay in dib-u-habaynta jaantuska firfircoon ee habkan ay ku dambayn doonto lumitaanka dhammaan qiyamka lagu kaydiyay shaxda. Si aad u kaydiso xogta mar horeba ku jirtay shaxanka, waxaad u baahan tahay inaad isticmaasho ereyga muhiimka ah Ilaalisida hoos ku qoran:

Haddi Tirada Kooxda

Nasiib darro erayga muhiimka ah Ilaali waxa kaliya oo loo isticmaali karaa in lagu badalo xadka sare ee cabbirka arayga. Soohdinta hoose ee array sidan looma beddeli karo. Sidoo kale, haddii arraygu leeyahay cabbiro badan, ka dibna isticmaal ereyga muhiimka ah Ilaali, kaliya cabbirka ugu dambeeya ee shaxanka ayaa la cabbiri karaa.

Leave a Reply