Si të ReDim të ruajë grupin 2D në Excel VBA (2 mënyra të thjeshta)

  • Shperndaje Kete
Hugh West

Një grup është një variabël që ruan të njëjtat lloje të dhënash. Nëse ka vetëm një rresht ose një kolonë të dhënash, atëherë ajo njihet si një grup njëdimensional. Megjithatë, kur ka më shumë se një rresht dhe kolonë, ai quhet një grup 2D. Ne përdorim ReDim për të ndryshuar madhësinë e një grupi në VBA. Për më tepër, ne përdorim fjalën kyçe Ruaj me ReDim për të mbajtur të paprekura të dhënat e vjetra. Ky artikull do t'ju tregojë 2 mënyra të shpejta për të " ReDim Reserve " një array 2D Excel VBA .

Shkarkoni Librin e Punës Praktike

Macro to ReDim Preserve 2D.xlsm

2 Qasje të dobishme për ReDim Preserve 2D Array në Excel VBA

Ky është grupi bazë i të dhënave të krijuar nga një grup 2D me tre rreshta dhe dy kolona. Së pari, ne do të krijojmë këtë grup. Pastaj, ne do të shtojmë një kolonë tjetër në këtë grup. Ne do të përdorim " ReDim Reserve " për ta bërë këtë. Për më tepër, ne do të demonstrojmë se çfarë ndodh nëse nuk e përdorim këtë.

Si parazgjedhje, ne mund të ndryshojmë vetëm dimensionin e fundit të grupit (d.m.th. kolonat ose kufirin e sipërm). Ne do të transpozojmë grupin, më pas do të ndryshojmë dimensionin e fundit dhe më pas do të transpozojmë përsëri për të ndryshuar madhësinë e të dy dimensioneve të grupit 2D në Excel VBA.

1 ReDim Preserve Last Dimension 2D Array

Së pari do të përcaktojmë grupin 2D si dinamik. Pastaj, duke përdorur deklaratën ReDim , ne do të krijojmë njëgrup me tre rreshta dhe dy kolona. Së fundi, ne do të përdorim përsëri deklaratën ReDim me Ruaj fjalë kyçe për rrisni kufirin e sipërm të grupit dydimensional.

Hapat:

  • Për të filluar, shtypni ALT+F11 për të hapur dritaren Moduli VBA . Përndryshe, mund ta bëni këtë nga skeda Zhvilluesi →  zgjidhni Visual Basic .
  • Më pas, nga Fut skedën → zgjidhni Modul . Këtu do të shtypim kodin VBA.

  • Më pas, shkruani kodin e mëposhtëm në Modulin dritare.
9792

Zbërthimi i kodit VBA

  • Së pari, ne po telefonojmë Nënprocedura Redim_Preserve_2D_Array_Row ”.
  • Më pas, ne deklarojmë variablin Our_Array si një grup dinamik.
  • Më pas, përcaktojmë madhësinë e grupit. Kufiri i poshtëm është 3 , kufiri i sipërm është 2 , dhe të dyja fillojnë nga 1 .
  • Më pas, i caktojmë vlera grupit .
  • Pas kësaj, ne futim vlerat në intervalin e qelizave C6:D8 .
  • Pas kësaj, ne do të ekzekutojë kodin.
  • Pra, Ruaj Modulin dhe shtyp Run .

  • Si rezultat, do t'i kthejë vlerat në intervalet e përcaktuara të qelizave. Mund të shohim se " Rachel " është në pozicionin e rreshtit 1 dhe kolonës 1 ,e cila u përcaktua si ( 1,1 ) në kodin VBA.

  • Tani, ne do të ndryshojmë madhësinë e grupit.
  • Pra, shtoni këtë në kodin e mëparshëm dhe hiqni deklaratën e parë Range.Value . Për më tepër, se si duket kodi mund ta shihni nga fotografia e mëposhtme.
5736

  • Këtu, ne kemi rritur kufirin e sipërm nga ( 1 Për 2 ) në ( 1 Për 3 ) nga 1 .
  • Pastaj, ne kemi shtuar vlerat në grup.
  • Tani nëse e ekzekutojmë këtë kod, atëherë do të shohim se vlerat e mëparshme nuk janë ruajtur. Ajo do të kthehet bosh për vlerat e mëparshme.

  • Tani, ne mund ta rregullojmë këtë duke shtuar Fjalë kyçe Ruaj Deklarata ReDim .
  • Më në fund, kodi ynë i plotë do të jetë ky.
8142

  • Tani, nëse ne Ekzekutoni këtë kod, atëherë dalja do të jetë kështu. Kështu, ne do të " ReDim Preserve " dimensionin e fundit të një grupi 2D në Excel VBA.. Tani, metoda tjetër do t'ju tregojë se si të " ReDim Ruaj ” dhe ndrysho përmasat e të dy dimensioneve të grupit.

Lexo më shumë: VBA për të qenë unike Vlerat nga kolona në grup në Excel (3 kritere)

Lexime të ngjashme

  • Si të emërtoni një grup tabelash në Excel (me Hapat e thjeshtë)
  • Excel VBA për të lexuar skedarin CSV në grup (4 shembuj idealë)
  • Si të konvertohet diapazoni në grup në ExcelVBA (3 mënyra)
  • Excel VBA: Hiq dublikatat nga një grup (2 shembuj)

2. ReDim ruaj të dy dimensionet e grupit 2D në Excel VBA

Në këtë metodë përfundimtare, ne do t'ju tregojmë hapat për të ndryshuar madhësinë dhe " ReDim Preserve " grupin 2D . Këtu, ne do të përdorim funksionin VBA Transpose për të ndryshuar madhësinë e kufirit të poshtëm të grupit. Nëse u përpoqëm të ndryshonim madhësinë e kufirit të poshtëm të grupit në metodën e parë, atëherë do të shohim gabimin " Subscript jashtë diapazonit ". Tani, pa u zgjatur më shumë, le të shohim se si mund ta rregullojmë këtë dhe ta arrijmë qëllimin tonë.

Hapat:

  • Së pari, siç tregohet në metodën e parë , hapni dritaren Moduli .
  • Së dyti, shtoni linjat e mëposhtme të kodit në kodi i parë.
8271
  • Për më tepër, kodi për metodën përfundimtare duket kështu.
7221

Zbërthimi i kodit VBA

  • Së pari, ne po thërrasim Nënprocedurën " ReDim_Preserve_2D_Array_Both_Dimensions " .
  • Pastaj, pjesa tjetër e kodeve deri në funksionin VBA Transpose janë të njëjta si në kodin e parë.
  • Këtu, ne janë duke transpozuar vargun.
  • Pastaj, ne po rrisim kufirin e sipërm të vargut.
  • Pas kësaj, ne e transpozojmë përsëri vargun. Prandaj, në fund do të ndryshojë kufirin e poshtëm.
  • Më pas, ne futim vlerat për grupin e ndryshuar përmasat ndërsaduke ruajtur të dhënat e vjetra.
  • Së fundi, ne shkruajmë vlerat në intervalin e qelizave C6:E9 .
  • Pas që, siç tregohet në metodën e parë , Ekzekutoni këtë kod.
  • Kështu, ne mund të vizualizojmë se si kodi ruan një Rrjeti 2D duke përdorur funksionin " ReDim Preserve " dhe VBA Transpose .

Lexo më shumë: VBA për të transpozuar grupin në Excel (3 metoda)

Gjëra për t'u mbajtur mend

  • ReDim Preserve nuk mund të ndryshojë kufirin e poshtëm të grupit. Për ta bërë këtë, ne duhet të përdorim funksionin Transpose .
  • Ne mund të përdorim vetëm ReDim në vargje dinamike.

Përfundim

Ne ju kemi treguar dy mënyra të shpejta për të “ ReDim Preserve ” një 2D array në Excel VBA. Nëse përballeni me ndonjë problem në lidhje me këto metoda ose keni ndonjë koment për mua, mos ngurroni të komentoni më poshtë. Për më tepër, ju mund të vizitoni faqen tonë ExcelWIKI për më shumë artikuj të lidhur me Excel. Faleminderit për leximin, vazhdoni të shkëlqeni!

Hugh West është një trajner dhe analist me përvojë të lartë në Excel me mbi 10 vjet përvojë në industri. Ai ka një diplomë Bachelor në Kontabilitet dhe Financë dhe një Master në Administrim Biznesi. Hugh ka një pasion për mësimdhënien dhe ka zhvilluar një qasje unike të mësimdhënies që është e lehtë për t'u ndjekur dhe kuptuar. Njohuritë e tij eksperte të Excel-it kanë ndihmuar mijëra studentë dhe profesionistë në mbarë botën të përmirësojnë aftësitë e tyre dhe të shkëlqejnë në karrierën e tyre. Nëpërmjet blogut të tij, Hugh ndan njohuritë e tij me botën, duke ofruar mësime falas në Excel dhe trajnime në internet për të ndihmuar individët dhe bizneset të arrijnë potencialin e tyre të plotë.