Tabl cynnwys
Mae arae yn newidyn sy'n cadw'r un mathau o ddata. Os mai dim ond un rhes neu un golofn o ddata sydd, yna fe'i gelwir yn arae un dimensiwn. Fodd bynnag, pan fo mwy nag un rhes a cholofn, fe'i gelwir yn arae 2D. Rydym yn defnyddio ReDim i newid maint arae yn VBA. Yn ogystal, rydym yn defnyddio'r allweddair Cadw gyda'r ReDim i gadw'r hen ddata yn gyfan. Bydd yr erthygl hon yn dangos 2 ffyrdd cyflym i chi “ ReDim Preserve ” a arae 2D yn Excel VBA .
Lawrlwythwch Gweithlyfr Ymarfer
Macro to ReDim Preserve 2D.xlsm
2 Ymagweddau Defnyddiol at ReDim Preserve 2D Array yn Excel VBA
Dyma'r set ddata sylfaenol a grëwyd o arae 2D gyda thair rhes a dwy golofn. Yn gyntaf, byddwn yn creu'r casgliad hwn. Yna, byddwn yn ychwanegu colofn arall at yr arae hon. Byddwn yn defnyddio'r “ ReDim Preserve ” i wneud hynny. Yn ogystal, byddwn yn dangos beth sy'n digwydd os na fyddwn yn defnyddio hwn.
Yn ddiofyn, dim ond dimensiwn olaf yr arae y gallwn ei newid (h.y. y colofnau neu'r ffin uchaf). Byddwn yn trawsosod yr arae, yna'n newid y dimensiwn olaf, ac yna'n trawsosod eto i newid maint dau ddimensiwn yr arae 2D yn Excel VBA.
1 ReDim Cadw Arae 2D Dimensiwn Diwethaf
Yn gyntaf byddwn yn diffinio'r arae 2D fel deinamig. Yna, gan ddefnyddio'r datganiad ReDim , byddwn yn creu datganiadarae gyda thair rhes a dwy golofn. Yn olaf, byddwn yn defnyddio'r datganiad ReDim eto gyda'r allweddair Cadw 2> i cynyddwch arffin uchaf yr arae dau ddimensiwn.
Camau:
- I ddechrau, pwyswch ALT+F11 i ddod â ffenestr Modiwl VBA i fyny. Fel arall, gallwch wneud hyn o'r tab Datblygwr → dewiswch Visual Basic .
- Yna, o'r Mewnosod tab → dewiswch Modiwl . Byddwn yn teipio'r cod VBA yma.
- Nesaf, teipiwch y cod canlynol yn y Modiwl ffenest.
7491
Dadansoddiad Cod VBA
- Yn gyntaf, rydym yn galw y Is-weithdrefn “ Redim_Preserve_2D_Array_Row ”.
- Yna, rydym yn datgan y newidyn Our_Array fel arae deinamig.
- Nesaf, rydym yn diffinio maint yr arae. Yr arffin isaf yw 3 , yr arffin uchaf yw 2 , ac mae'r ddau yn dechrau o 1 .
- Yna, rydym yn aseinio gwerthoedd i'r arae .
- Ar ôl hynny, rydyn ni'n mewnbynnu'r gwerthoedd i'r ystod celloedd C6:D8 .
- Ar ôl hynny, rydyn ni yn gweithredu'r cod.
- Felly, Cadw y Modiwl a phwyswch Rhedeg .
- O ganlyniad, bydd yn dychwelyd y gwerthoedd i'r ystodau celloedd diffiniedig. Gallwn weld bod “ Rachel ” yn rhes 1 a cholofn 1 safle,a ddiffiniwyd fel ( 1,1 ) yn y cod VBA.
- Nawr, byddwn yn newid maint yr arae.
- Felly, ychwanegwch hwn at y cod blaenorol a dileu'r datganiad Ystod.Gwerth cyntaf. Ar ben hynny, sut mae'r cod yn edrych fel y gallwch chi ei weld o'r ciplun isod.
3220
- Yma, rydym wedi cynyddu'r arffin uchaf o ( 1 I 2 ) i ( 1 I 3 ) erbyn 1 .
- Yna, rydym wedi ychwanegu'r gwerthoedd i'r arae.
- Nawr os byddwn yn gweithredu'r cod hwn, byddwn yn gweld nad yw'r gwerthoedd blaenorol wedi'u cadw. Bydd yn dychwelyd yn wag ar gyfer y gwerthoedd blaenorol.
- Nawr, gallwn drwsio hyn drwy ychwanegu'r Gwarchod allweddair i'r Datganiad ReDim .
- Yn olaf, ein cod llawn fydd hwn.
4490
- Nawr, os ydym 1> Rhedwch y cod hwn, yna bydd yr allbwn fel hyn. Felly, byddwn yn “ ReDim Preserve ” dimensiwn olaf arae 2D yn Excel VBA .. Nawr, bydd y dull nesaf yn dangos i chi sut i “ ReDim Cadw ” a newid maint dau ddimensiwn yr arae.
Darllen Mwy: VBA i Fod yn Unigryw Gwerthoedd o'r Golofn i'r Arae yn Excel (3 Maen Prawf)
Darlleniadau Tebyg
- Sut i Enwi Arae Tabl yn Excel (Gyda Camau Hawdd)
- Excel VBA i Ddarllen Ffeil CSV yn Array (4 Enghraifft Delfrydol)
- Sut i Drosi Ystod i Array yn ExcelVBA (3 Ffordd)
- Excel VBA: Dileu Dyblygiadau o Arae (2 Enghraifft)
2. ReDim Cadw'r Ddau Dimensiwn Arae 2D yn Excel VBA
Yn y dull olaf hwn, byddwn yn dangos y camau i newid maint a “ ReDim Preserve ” yr arae 2D i chi. Yma, byddwn yn defnyddio'r swyddogaeth VBA Transpose i newid maint ffin isaf yr arae. Pe baem yn ceisio newid maint ffin isaf yr arae yn y dull cyntaf, yna byddwn yn gweld y gwall “ Tanysgrifiad allan o ystod ”. Nawr, heb ragor o wybodaeth, gadewch inni weld sut y gallwn drwsio hyn a chyflawni ein nod.
Camau:
- Yn gyntaf, fel y dangosir yn y dull cyntaf , codwch y ffenestr Modiwl i fyny.
- Yn ail, ychwanegwch y llinellau cod canlynol i'r cod cyntaf.
7687
- Ar ben hynny, mae'r cod ar gyfer y dull terfynol yn edrych fel hyn.
2994
Dadansoddiad Cod VBA
- Yn gyntaf, rydym yn galw'r Is-weithdrefn “ ReDim_Preserve_2D_Array_Both_Dimensions ” .
- Yna, mae gweddill y codau hyd at y ffwythiant VBA Transpose yr un fath ag yn y cod cyntaf.
- Yma, rydym ni yn trawsosod yr arae.
- Yna, rydym yn cynyddu arffin uchaf yr arae.
- Ar ôl hynny, rydym yn trawsosod yr arae eto. Felly, yn y pen draw bydd yn newid yr arffin isaf.
- Nesaf, rydym yn mewnbynnu'r gwerthoedd ar gyfer yr arae newid maint tracadw'r hen ddata.
- Yn olaf, rydym yn ysgrifennu'r gwerthoedd i'r amrediad celloedd C6:E9 .
- Ar ôl hynny, fel y dangosir yn y dull cyntaf , Rhedeg y cod hwn.
- Felly, gallwn ddelweddu sut mae'r cod yn cadw Arae 2D gan ddefnyddio'r “ ReDim Preserve ” a'r swyddogaeth VBA Transpose .
Darllen Mwy: VBA i Drawsosod Arae yn Excel (3 Dull)
Pethau i'w Cofio
- Ni all ReDim Preserve newid ffin isaf yr arae. I wneud hynny, mae angen i ni ddefnyddio'r ffwythiant Transpose .
- Dim ond ar araeau deinamig y gallwn ddefnyddio ReDim . <16
Casgliad
Rydym wedi dangos dwy ffordd gyflym i chi “ ReDim Preserve ” a 2D arae yn Excel VBA. Os ydych chi'n wynebu unrhyw broblemau ynglŷn â'r dulliau hyn neu os oes gennych chi unrhyw adborth i mi, mae croeso i chi wneud sylwadau isod. Ar ben hynny, gallwch ymweld â'n gwefan ExcelWIKI i gael rhagor o erthyglau sy'n ymwneud ag Excel. Diolch am ddarllen, daliwch ati i ragori!