Hvernig á að ReDim varðveita 2D fylki í Excel VBA (2 auðveldar leiðir)

  • Deildu Þessu
Hugh West

Fylki er breyta sem geymir sömu tegundir gagna. Ef það er aðeins ein röð eða einn dálkur af gögnum, þá er það þekkt sem einvídd fylki. Hins vegar, þegar það eru fleiri en ein röð og dálkur, er það kallað 2D fylki. Við notum ReDim til að breyta stærð fylkis í VBA. Að auki notum við Varðveittu lykilorðið með ReDim til að halda gömlu gögnunum óskertum. Þessi grein mun sýna þér 2 fljótar leiðir til að „ ReDim Preserve 2D fylki í Excel VBA .

Sækja æfingarbók

Macro to ReDim Preserve 2D.xlsm

2 handhægar aðferðir til að ReDim Preserve 2D Array í Excel VBA

Þetta er grunngagnasettið sem búið er til úr 2D fylki með þremur línum og tveimur dálkum. Í fyrsta lagi munum við búa til þessa fylki. Síðan munum við bæta öðrum dálki við þessa fylki. Við munum nota „ ReDim Preserve “ til að gera það. Að auki munum við sýna fram á hvað gerist ef við notum þetta ekki.

Sjálfgefið er að við getum aðeins breytt stærð síðustu víddar fylkisins (þ.e. dálkana eða efri mörkin). Við breytum fylkinu, breytum síðan síðustu víddinni og breytum síðan aftur til að breyta stærðinni á báðum víddum 2D fylkisins í Excel VBA.

1 ReDim Preserve Last Dimension 2D Array

Við munum fyrst skilgreina 2D array sem kraftmikið. Síðan, með því að nota ReDim yfirlýsinguna, munum við búa tilfylki með þremur línum og tveimur dálkum. Að lokum munum við nota ReDim staðhæfinguna aftur með Preserve lykilorðinu til að auka efri mörk tvívíddar fylkisins.

Skref:

  • Til að byrja með, ýttu á ALT+F11 til að koma upp VBA Module glugganum. Að öðrum kosti geturðu gert þetta á flipanum Þróunaraðili →  veldu Visual Basic .
  • Síðan á
  • 1> Settu inn flipa → veldu Module . Við munum slá inn VBA kóðann hér.

  • Næst skaltu slá inn eftirfarandi kóða í Module glugga.
1423

VBA kóða sundurliðun

  • Í fyrsta lagi erum við að hringja Sub málsmeðferðin " Redim_Preserve_2D_Array_Row ".
  • Þá lýsum við yfir breytuna Our_Array sem kraftmikið fylki.
  • Næst, skilgreinum við stærð fylkisins. Neðri mörkin eru 3 , efri mörkin eru 2 , og bæði byrja á 1 .
  • Þá gefum við fylkinu gildi .
  • Eftir það setjum við gildin inn í C6:D8 frumusviðið.
  • Eftir það munum við mun keyra kóðann.
  • Svo, Vista eininguna og ýttu á Run .

  • Þar af leiðandi mun það skila gildunum til skilgreindra hólfasviða. Við getum séð að „ Rachel “ er í röð 1 og dálki 1 stöðu,sem var skilgreint sem ( 1,1 ) í VBA kóðanum.

  • Nú munum við breyta stærð fylkisins.
  • Svo skaltu bæta þessu við fyrri kóðann og fjarlægja fyrstu Range.Value yfirlýsinguna . Þar að auki, hvernig kóðinn lítur út geturðu séð af skyndimyndinni hér að neðan.
8862

  • Hér höfum við aukið efri mörkin frá ( 1 Til 2 ) til ( 1 Til 3 ) eftir 1 .
  • Þá höfum við bætt gildunum við fylkið.
  • Nú, ef við keyrum þennan kóða, þá munum við sjá að fyrri gildin eru ekki varðveitt. Það mun skila auðu fyrir fyrri gildi.

  • Nú getum við lagað þetta með því að bæta Varðveittu leitarorðinu inn í ReDim yfirlýsing .
  • Að lokum, fullur kóðinn okkar verður þessi.
8045

  • Nú, ef við Keyra þennan kóða, þá verður úttakið svona. Þannig munum við „ ReDim varðveita “ síðustu vídd 2D fylki í Excel VBA.. Næsta aðferð mun sýna þér hvernig á að „ ReDim Varðveittu “ og breyttu stærðinni á báðum víddum fylkisins.

Lesa meira: VBA to Get Unique Gildi úr dálki yfir í fylki í Excel (3 viðmið)

Svipaðar lestur

  • Hvernig á að nefna töflufylki í Excel (með Auðveld skref)
  • Excel VBA til að lesa CSV skrá í fylki (4 tilvalin dæmi)
  • Hvernig á að umbreyta bili í fylki í ExcelVBA (3 Ways)
  • Excel VBA: Remove Duplicates from an Array (2 Dæmi)

2. ReDim Preserve Both Dimensions 2D Array in Excel VBA

Í þessari lokaaðferð munum við sýna þér skrefin til að breyta stærð og „ ReDim Preserve 2D fylkið . Hér munum við nota VBA Transpose aðgerðina til að breyta stærð neðri mörk fylkisins. Ef við reyndum að breyta stærð neðri mörk fylkisins í fyrstu aðferðinni, þá munum við sjá villuna „ Áskrift utan sviðs “. Nú skulum við án frekari ummæla sjá hvernig við getum lagað þetta og náð markmiði okkar.

Skref:

  • Í fyrsta lagi, eins og sýnt er í fyrstu aðferð , færðu upp Module gluggann.
  • Í öðru lagi skaltu bæta eftirfarandi línum af kóða inn í fyrsti kóði.
8562
  • Þar að auki lítur kóðinn fyrir lokaaðferðina svona út.
2612

VBA kóða sundurliðun

  • Í fyrsta lagi köllum við undirferlið ReDim_Preserve_2D_Array_Both_Dimensions “ .
  • Þá eru restin af kóðunum upp að VBA Transpose fallinu þeir sömu og í fyrsta kóðanum.
  • Hér erum við erum að umbreyta fylkinu.
  • Þá erum við að auka efri mörk fylkisins.
  • Eftir það breytum við fylkinu aftur. Þess vegna mun það á endanum breyta neðri mörkunum.
  • Næst setjum við inn gildin fyrir breytt stærð fylkisins á meðanvarðveita gömlu gögnin.
  • Að lokum skrifum við gildin í frumusviðið C6:E9 .
  • Eftir að eins og sýnt er í fyrstu aðferð , Keyra þennan kóða.
  • Þannig getum við séð fyrir okkur hvernig kóðinn varðveitir 2D fylki með „ ReDim Preserve “ og VBA Transpose aðgerðinni.

Lesa meira: VBA til að flytja fylki í Excel (3 aðferðir)

Atriði sem þarf að muna

  • ReDim Preserve getur ekki breytt neðri mörkum fylkisins. Til þess þurfum við að nota Transpose aðgerðina.
  • Við getum aðeins notað ReDim á kvikum fylkjum.

Niðurstaða

Við höfum sýnt þér tvær fljótlegar leiðir til að „ ReDim Preserve 2D fylki í Excel VBA. Ef þú stendur frammi fyrir einhverjum vandamálum varðandi þessar aðferðir eða hefur einhver endurgjöf fyrir mig, ekki hika við að tjá þig hér að neðan. Þar að auki geturðu heimsótt síðuna okkar ExcelWIKI fyrir fleiri Excel tengdar greinar. Takk fyrir að lesa, haltu áfram að skara framúr!

Hugh West er mjög reyndur Excel þjálfari og sérfræðingur með yfir 10 ára reynslu í greininni. Hann er með BA gráðu í bókhaldi og fjármálum og meistaragráðu í viðskiptafræði. Hugh hefur ástríðu fyrir kennslu og hefur þróað einstaka kennsluaðferð sem auðvelt er að fylgja eftir og skilja. Sérfræðiþekking hans á Excel hefur hjálpað þúsundum nemenda og fagfólks um allan heim að bæta færni sína og skara fram úr í starfi. Í gegnum bloggið sitt deilir Hugh þekkingu sinni með heiminum og býður upp á ókeypis Excel námskeið og netþjálfun til að hjálpa einstaklingum og fyrirtækjum að ná fullum möguleikum.