Waa maxay VBA Array ee Excel iyo Sida loo Barnaamijyo Mid

VBA waxay qayb ka ahayd suuit Microsoft Office(Microsoft Office) sanado badan. In kasta oo ayan lahayn shaqada buuxda iyo awooda codsiga VB buuxa, VBA waxay siisaa isticmaalayaasha Xafiiska(Office) dabacsanaan ay ku dhexgalaan alaabada Xafiiska(Office) oo ay otomaatig ugu noqdaan shaqada aad ku qabato.

Mid ka mid ah qalabka ugu awoodda badan ee laga heli karo VBA waa awoodda lagu shubo xogta kala duwan ee hal doorsoome oo loo yaqaan array. Marka aad xogta sidaan u soo shubto, waxa aad ku maamuli kartaa ama aad samayn kartaa xisaabinta tirada xogtaas siyaabo kala duwan.

Haddaba waa maxay diyaarsanaanta VBA(VBA) ? Maqaalkan waxaan ka jawaabi doonaa su'aashaas, oo ku tusi doonaa sida loo isticmaalo mid ka mid ah farta VBA ee adiga kuu gaar ah(your own VBA script) .

Waa maxay VBA Array?

Isticmaalka qaabka VBA ee Excel waa mid aad u fudud, laakiin fahamka fikradda arraysku waxay noqon kartaa wax yar oo adag haddii aadan waligaa isticmaalin.

Ka fakar(Think) shax sida sanduuq oo kale qaybo ay ku jiraan. Aarray hal-cabbir ah waa sanduuq leh hal xariiq oo qaybo ah. Qaabka laba-geesoodka ah waa sanduuq leh laba xariiq oo qaybo ah.

Waxaad ku dari kartaa xogta qayb kasta oo ka mid ah "sanduuqan" si kasta oo aad rabto.

Bilawga qoraalkaaga VBA -da , waxaad u baahan tahay inaad qeexdo "sanduuqa"kan adoo qeexaya soo diyaarsankaaga VBA(VBA) . Haddaba si aad u abuurto array hayn kara hal xog (hal-cabbir array), waxaad qori lahayd xariiqan soo socota.

Dim arrMyArray(1 To 6) As String

Hadhow barnaamijkaaga, waxaad ku dari kartaa xogta qayb kasta oo ka mid ah shaxdan adiga oo tixraacaya qaybta gudaha jaantusyada.

arrMyArray(1) = "Ryan Dube"

Waxaad samayn kartaa array laba-cabbir ah adoo isticmaalaya xariiqan soo socota.

Dim arrMyArray(1 To 6,1 to 2) As Integer

Lambarka kowaad wuxuu matalaa safka, ka labaadna waa tiirka. Markaa shaxanka kore wuxuu hayn karaa kala duwanaansho leh 6 saf iyo 2 tiir.

Waxaad ku shuban kartaa wax kasta oo ka mid ah shaxdan xogta sida soo socota.

arrMyArray(1,2) = 3

Tani waxay ku shubi doontaa 3 unugga B1.

Diyaarintu waxay hayn kartaa nooc kasta oo xog ah sida doorsoome caadi ah, sida xargaha, boolean-ka, tiro-koobyada, sabaynta iyo in ka badan.

Nambarka ku jira qawlka wuxuu kaloo noqon karaa doorsoome. Barnaamij-bixiyeyaashu waxay caadi ahaan adeegsadaan For Loop si ay u tiriyaan dhammaan qaybaha array-ga oo ay ku shubaan unugyada xogta ee xaashida safafka. Waxaad arki doontaa sida tan loo sameeyo mar dambe maqaalkan.

Sida loo diyaariyo VBA Array gudaha Excel

Aan eegno barnaamij fudud oo laga yaabo inaad rabto inaad macluumaadka ka soo rogto xaashida xaashida oo aad geliso array dhinacyo badan leh.

Tusaale ahaan, aan eegno xaashida iibka alaabta, meesha aad rabto inaad ka soo saarto magaca iibka, shayga, iyo wadarta iibka ka saar xaashida.

Ogsoonow in VBA -da marka aad tixraacayso safafka ama tiirarka, waxaad tirisaa safafka iyo tiirarka(rows and columns) ka bilaabmaya bidixda sare ee 1. Markaa tiirarka rep waa 3, tiirka shaygu waa 4, tiirka guudna waa 7.

Si aad saddexdan tiir ugu shubto dhammaan 11 saf, waxaad u baahan doontaa inaad qorto qoraalkan soo socda.

Dim arrMyArray(1 To 11, 1 To 3) As String
Dim i As Integer, j As Integer
For i = 2 To 12
For j = 1 To 3
arrMyArray(i-1, j) = Cells(i, j).Value
Next j
Next i

Waxaad ogaan doontaa in si aad uga gudubto safka madaxa, nambarka safka ee kan ugu horreeya wuxuu u baahan yahay inuu ka bilaabo 2 halkii uu ka bilaabi lahaa 1. Tani waxay ka dhigan tahay inaad u baahan tahay inaad ka jarto 1 qiimaha safafka isku dhejinta marka aad ku shubayso qiimaha unugyada. galay array isticmaalaya Unugyada(Cells) (i, j).Qiimaha.

Halkee Laga Geli Karaa Qoraalkaaga Array VBA(Your VBA Array Script)

Si aad u dhigto barnaamijka qoraalka VBA gudaha (VBA)Excel , waxaad u baahan tahay inaad isticmaasho tifaftiraha VBA . Waxa aad tan ku heli kartaa adiga oo dooranaya menu(Developer) -ka soo- saare oo doorta View Code ee qaybta Kontroolka(Controls) ee ribbon.

Haddii aadan ku arag horumariyaha(Developer) menu-ka, waxaad u baahan doontaa inaad ku darto. Si tan loo sameeyo, dooro File iyo Options si aad u furto daaqada Excel Options.

U beddel amarrada xulashada hoos u dhaca una beddel dhammaan amarrada(All Commands) . Ka dooro horumariye(Developer) ka menu-ka bidix oo dooro badhanka ku dar(Add) si aad ugu guurto shayga dhanka midig. Dooro sanduuqa hubinta si aad awood ugu yeelato oo dooro OK si aad u dhammayso.

Marka uu furmo daaqada Code Editor , hubi in xaashida xogtaadu ku jirto ay ku jirto dhinaca bidixda. Ka dooro Xaashida shaqada(Worksheet) ee hoos u dhaca bidix oo ku dhaqaaq dhanka(Activate) midig. Tani waxay abuuri doonta subbroutine cusub oo loo yaqaan Worksheet_Activate ().

Shaqadani waxay socon doontaa mar kasta oo la furo faylka xaashida. Ku dheji koodka shayga qoraalka ee gudaha subroutine-kan.

Qoraalkani wuxuu dhex shaqayn doonaa 12 saf wuxuuna ka soo rari doonaa magaca rep ee tiirka 3, shayga tiirka 4, iyo wadarta iibka tiirka 7.

Marka labada siddo la dhammeeyo, labada cabbir ee array arrMyArray ka kooban dhammaan xogta aad ku qeexday xaashida asalka ah.

Ku Maaraynta Arrays ee Excel VBA

Aynu nidhaahno inaad rabto inaad 5% cashuurta iibka ku dalbato dhammaan qiimayaasha iibka ee u dambeeya, ka dibna dhammaan xogta ku qor xaashi cusub.

Waxa aad tan samayn kartaa adiga oo ku dara mid kale oo loop ah ka dib marka hore, oo wata amar aad natiijada ugu qorto xaashi cusub.

For k = 2 To 12
Sheets("Sheet2").Cells(k, 1).Value = arrMyArray(k - 1, 1)
Sheets("Sheet2").Cells(k, 2).Value = arrMyArray(k - 1, 2)
Sheets("Sheet2").Cells(k, 3).Value = arrMyArray(k - 1, 3)
Sheets("Sheet2").Cells(k, 4).Value = arrMyArray(k - 1, 3) * 0.05
Next k

Tani waxay "soo dejin doontaa" dhammaan shaxanka Sheet2(Sheet2) , oo leh saf dheeri ah oo ka kooban wadarta guud ee lagu dhufto 5% qaddarka canshuurta.

Xaashida soo baxday waxay u ekaan doontaa sidan.

Sida aad arki karto, qaababka VBA(VBA) ee Excel waa kuwo aad u faa'iido leh oo la mid ah sida xeelad kasta oo kale oo Excel ah(any other Excel trick)

Tusaalaha kor ku xusan waa adeegsi aad u fudud oo habaysan. Waxaad samayn kartaa habab aad u weyn oo waxaad samayn kartaa kala-soocidda, celceliska, ama hawlo kale oo badan oo liddi ku ah xogta aad ku kaydiso iyaga.

Haddii aad rabto inaad hesho hal-abuur dhab ah, waxaad xitaa abuuri kartaa laba hannaan oo ay ku jiraan unugyo kala duwan oo(containing a range of cells) ka socda laba xaashi oo kala duwan, waxaadna samayn kartaa xisaabinta inta u dhaxaysa walxaha shax kasta.

Codsiyada waxaa xaddidaya male-awaalkaaga kaliya.



About the author

Waxaan ahay khibrad Windows 10 iyo Windows 11/10 Maamule khibrad u leh Edge. Waxaan leeyahay aqoon iyo waayo-aragnimo badan oo aan ku bixiyo goobtan, taas oo ah sababta aan u aaminsanahay in xirfadahaygu ay u noqon doonaan hanti qiimo leh shirkaddaada. Sannadaha aan waayo-aragnimada u leeyahay labada Windows 10 iyo Edge waxay i siinayaan awood aan si degdeg ah u barto tignoolajiyada cusub, u xalliyo dhibaatooyinka si dhakhso ah, oo aan ula wareego marka ay timaaddo socodsiinta ganacsigaaga. Intaa waxaa dheer, waayo-aragnimadayda Windows 10 iyo Edge waxay iga dhigayaan aqoon badan oo ku saabsan dhammaan qaybaha nidaamka qalliinka, taas oo faa'iido u leh maareynta server-yada ama maareynta codsiyada software.



Related posts