Jedwali la yaliyomo
Mkusanyiko ni kigezo ambacho huhifadhi aina sawa za data. Ikiwa kuna safu mlalo moja au safu moja ya data, basi inajulikana kama safu ya mwelekeo mmoja. Walakini, kunapokuwa na safu na safu zaidi ya moja, inaitwa safu ya 2D. Tunatumia ReDim kubadilisha ukubwa wa safu katika VBA. Zaidi ya hayo, tunatumia Hifadhi neno kuu kwa ReDim ili kuweka data ya zamani ikiwa sawa. Makala haya yatakuonyesha 2 njia za haraka za “ ReDim Preserve ” safu ya 2D katika Excel VBA .
Pakua Kitabu cha Mazoezi
Macro hadi ReDim Hifadhi 2D.xlsm
Mbinu 2 Muhimu za ReDim Preserve 2D Array katika Excel VBA
Hii ni hifadhidata msingi iliyoundwa kutoka safu ya 2D yenye safu mlalo tatu na safu wima mbili. Kwanza, tutaunda safu hii. Kisha, tutaongeza safu nyingine kwenye safu hii. Tutatumia “ ReDim Preserve ” kufanya hivyo. Zaidi ya hayo, tutaonyesha kile kinachotokea ikiwa hatutatumia hii.
Kwa chaguo-msingi, tunaweza kubadilisha ukubwa wa mwisho wa safu pekee (yaani safu wima au mstari wa juu). Tutabadilisha safu, kisha kubadilisha mwelekeo wa mwisho, na kisha kubadilisha tena ili kubadilisha ukubwa wa vipimo vyote viwili vya safu ya 2D katika Excel VBA.
1 ReDim Preserve Last Dimension 2D Array
Tutafafanua kwanza safu ya 2D kama inayobadilika. Kisha, kwa kutumia ReDim taarifa, tutaundasafu na safu tatu na safu mbili. Mwishowe, tutatumia taarifa ya ReDim tena na Hifadhi neno kuu kwa ongeza mpaka wa juu wa safu mbili za dimensional.
Hatua:
- Kuanza, bonyeza ALT+F11 kuleta Moduli ya VBA dirisha. Vinginevyo, unaweza kufanya hivi ukitumia kichupo cha Msanidi → chagua Msingi wa Kuonekana .
- Kisha, kutoka Ingiza kichupo → chagua Moduli . Tutaandika msimbo wa VBA hapa.
- Ifuatayo, andika msimbo ufuatao katika Moduli dirisha.
5802
Uchanganuzi Wa Msimbo wa VBA
- Kwanza, tunapiga simu utaratibu Ndogo “ Redim_Preserve_2D_Array_Row ”.
- Kisha, tunatangaza kigezo Safu_Yetu kama safu inayobadilika.
- Ifuatayo, tunafafanua ukubwa wa safu. Kiwango cha chini ni 3 , cha juu ni 2 , na zote mbili huanza kutoka 1 .
- Kisha, tunaweka thamani kwa safu. .
- Baada ya hapo, tunaingiza thamani kwenye C6:D8 safu ya seli.
- Baada ya hapo, sisi itatekeleza msimbo.
- Kwa hivyo, Hifadhi Moduli na ubofye Run .
- Kutokana na hilo, itarudisha thamani kwenye safu za seli zilizobainishwa. Tunaweza kuona kwamba “ Rachel ” yuko katika safu mlalo 1 na safuwima 1 nafasi,ambayo ilifafanuliwa kama ( 1,1 ) katika msimbo wa VBA.
- Sasa, tutabadilisha ukubwa wa safu.
- Kwa hivyo, ongeza hii kwenye msimbo uliopita na uondoe Tamko la Thamani ya kwanza Range.Value . Zaidi ya hayo, jinsi msimbo unavyoonekana unaweza kuona kutoka kwa muhtasari ulio hapa chini.
9670
- Hapa, tumeongeza kiwango cha juu kutoka ( 1 Kwa 2 ) hadi ( 1 Kwa 3 ) kwa 1 .
- Kisha, tumeongeza thamani kwenye safu.
- Sasa tukitekeleza msimbo huu, basi tutaona thamani za awali hazijahifadhiwa. Itarejesha tupu kwa thamani za awali.
- Sasa, tunaweza kurekebisha hili kwa kuongeza Hifadhi nenomsingi kwenye Tamko la ReDim .
- Mwishowe, msimbo wetu kamili utakuwa huu.
3903
- Sasa, ikiwa
- 1> Run msimbo huu, kisha matokeo yatakuwa hivi. Kwa hivyo, tuta “ ReDim Preserve ” kipimo cha mwisho cha safu ya 2D katika Excel VBA. Sasa, mbinu inayofuata itakuonyesha jinsi ya “ ReDim Hifadhi ” na ubadili ukubwa wa vipimo vyote viwili vya safu.
Soma Zaidi: VBA ili Kupata Kipekee. Thamani kutoka kwa Safu hadi Mkusanyiko katika Excel (Vigezo 3)
Visomo Vinavyofanana
- Jinsi ya Kutaja Mkusanyiko wa Jedwali katika Excel (Pamoja na Hatua Rahisi)
- Excel VBA ili Kusoma Faili ya CSV kuwa Mpangilio (Mifano 4 Bora)
- Jinsi ya Kubadilisha Masafa kuwa Mkusanyiko katika ExcelVBA (Njia 3)
- Excel VBA: Ondoa Nakala kutoka kwa Mkusanyiko (Mifano 2)
2. ReDim Hifadhi Vipimo Vyote Mpangilio wa P2 ndani Excel VBA
Katika mbinu hii ya mwisho, tutakuonyesha hatua za kubadilisha ukubwa na “ ReDim Preserve ” safu ya 2D . Hapa, tutakuwa tukitumia VBA Transpose chaguo za kukokotoa kurekebisha ukubwa wa mpaka wa chini wa safu. Ikiwa tulijaribu kubadilisha ukubwa wa mipaka ya chini ya safu katika njia ya kwanza, basi tutaona hitilafu ya " Subscript nje ya masafa ". Sasa, bila kuchelewa, hebu tuone jinsi tunavyoweza kurekebisha hili na kufikia lengo letu.
Hatua:
- Kwanza, kama inavyoonyeshwa katika mbinu ya kwanza , leta Moduli dirisha.
- Pili, ongeza mistari ifuatayo ya msimbo kwenye msimbo wa kwanza.
5529
- Aidha, msimbo wa mbinu ya mwisho inaonekana kama hii.
9874
Uchanganuzi wa Msimbo wa VBA
- Kwanza, tunaita utaratibu Ndogo “ ReDim_Preserve_2D_Array_Both_Dimensions ” .
- Kisha, misimbo iliyosalia hadi kitendakazi cha VBA Transpose ni sawa na katika msimbo wa kwanza.
- Hapa, sisi wanapitisha safu.
- Kisha, tunaongeza mpaka wa juu wa safu.
- Baada ya hapo, tunapitisha safu tena. Kwa hivyo, hatimaye itabadilisha mipaka ya chini.
- Inayofuata, tunaingiza thamani za safu iliyobadilishwa ukubwa hukukuhifadhi data ya zamani.
- Mwisho, tunaandika thamani kwa safu ya seli C6:E9 .
- Baadaye kwamba, kama inavyoonyeshwa katika mbinu ya kwanza , Endesha msimbo huu.
- Kwa hivyo, tunaweza kuona jinsi msimbo unavyohifadhi Mkusanyiko wa 2D kwa kutumia “ ReDim Preserve ” na VBA Transpose kitendakazi.
Soma Zaidi: VBA ya Kubadilisha Mpangilio katika Excel (Njia 3)
Mambo ya Kukumbuka
- ReDim Preserve haiwezi kubadilisha mpaka wa chini wa safu. Ili kufanya hivyo, tunahitaji kutumia kipengele cha Transpose .
- Tunaweza kutumia ReDim pekee kwenye safu zinazobadilika.
Hitimisho
Tumekuonyesha njia mbili za haraka za “ ReDim Preserve ” 2D safu katika Excel VBA. Ikiwa unakabiliwa na shida yoyote kuhusu njia hizi au una maoni yoyote kwangu, jisikie huru kutoa maoni hapa chini. Zaidi ya hayo, unaweza kutembelea tovuti yetu ExcelWIKI kwa makala zaidi yanayohusiana na Excel. Asante kwa kusoma, endelea kufaulu!