Tabloya naverokê
Array guhêrbarek e ku heman celeb daneyan digire. Ger tenê rêzek an stûnek daneyê hebe, wê hingê ew wekî rêzek yek-dimensî tê zanîn. Lêbelê, gava ku ji yek rêz û stûnek zêdetir be, jê re rêzek 2D tê gotin. Em ReDim bikar tînin da ku mezinahiya arrayek di VBA de biguherînin. Wekî din, em bi peyva Parastin bi ReDim bikar tînin da ku daneyên kevn saxlem bihêlin. Ev gotar dê nîşanî we bide 2 awayên bilez ji bo " ReDim Preserve " a 2D array di Excel VBA .
Daxistin Pirtûka Xebatê ya Pratîkê
Makro ji bo ReDim Parastinê 2D.xlsm
2 Nêzîktêdayînên Bikêr ji bo ReDim Preserve 2D Array di Excel VBA de
Ev databasa bingehîn e ku ji 2D array bi sê rêz û du stûnan hatî çêkirin. Pêşîn, em ê vê array ava bikin. Dûv re, em ê stûnek din li vê rêzê zêde bikin. Ji bo vê yekê em ê " ReDim Preserve " bikar bînin. Wekî din, em ê nîşan bidin ka çi dibe bila bibe heke em vê bikar neynin.
Ji hêla xwerû ve, em tenê dikarin pîvana paşîn a rêzê (ango stûn an jî sînorê jorîn) mezin bikin. Em ê rêzê veguhezînin, dûv re pîvana paşîn biguhezînin, û dûv re dîsa veguhezînin da ku mezinahiya her du pîvanên array 2D di Excel VBA de biguherînin.
1 ReDim Parastinê Last Dimension 2D Array
Em ê pêşî 2D array wekî dînamîk diyar bikin. Dûv re, bi karanîna ReDim , em ê anekek çêbikinarray bi sê rêz û du stûnan. Di dawiyê de, em ê bi peyva ReDim dîsa bi Parastin keyword bikar bînin. sînorê jorîn ê rêzika du-alî zêde bike.
Gavên:
- Ji bo destpêkê, ALT+F11 bitikîne. da ku pencereya Modula VBA derxe. Wekî din, hûn dikarin vê yekê ji tabloya Pêşvebir bikin → Visual Basic hilbijêrin.
- Piştre, ji Teb têxe → Modul hilbijêre. Em ê koda VBA li vir binivîsin.
- Piştre, koda jêrîn di Modulê de binivîsin pencereyê.
3071
Berhevkirina Koda VBA
- Pêşî, em bang dikin Subprocedure " Redim_Preserve_2D_Array_Row ".
- Piştre, em guherbara Our_Array wekî rêzek dînamîkî diyar dikin.
- Piştre, em mezinahiya rêzê diyar dikin. Sînorê jêrîn 3 , sînorê jorîn 2 e, û her du jî ji 1 dest pê dikin.
- Piştre, em nirxan didin rêzê .
- Piştî wê, em nirxan dixin nav rêza şaneyê C6:D8 .
- Piştre em dê kodê bixebitîne.
- Ji ber vê yekê, Bihêle Modula û pêl Run .
- Di encamê de, ew ê nirxan vegerîne rêzikên şaneyên diyarkirî. Em dikarin bibînin ku " Rachel " di rêza 1 û stûna 1 de ye,ya ku di koda VBA de wekî ( 1,1 ) hate pênase kirin.
- Niha, em ê mezinahiya rêzê biguherînin.
- Ji ber vê yekê, vê li koda berê zêde bike û Daxuyaniya Range.Nirx ya yekem jê rake. Wekî din, hûn dikarin ji wêneya jêrîn bibînin ka kod çawa dixuye.
2125
- Li vir, me sînorê jorîn ji ( 1 Ji 2 ) heta ( 1 Ji 3 ) ji hêla 1 .
- Piştre, me nirx li rêzê zêde kirine.
- Niha ger em vê kodê bi cih bînin, wê demê em ê bibînin ku nirxên berê nayên parastin. Ew ê ji bo nirxên berê vala vegere.
- Niha, em dikarin vê yekê rast bikin bi zêdekirina Peyva sereke parastin li Daxuyaniya ReDim .
- Di dawiyê de, koda me ya tevahî dê ev be.
4348
- Niha, heke em Vê kodê bixebitîne , wê demê dê encam bi vî rengî be. Ji ber vê yekê, em ê " ReDim Preserve " pîvana dawî ya 2D array di Excel VBA de.. Naha, rêbaza din dê nîşanî we bide ka meriv çawa " ReDim Biparêzin ” û her du pîvanên rêzê biguherînin.
Zêdetir Bixwîne: VBA Ji bo Xweseriya Xwe Bike Nirxên ji Stûnê berbi Array di Excel de (3 Pîvan)
Xwendinên Bi heman rengî
- Meriv Çawa Navê Rêzek Tabloyê Di Excel de (bi Gavên Hêsan)
- Excel VBA ku Pelê CSV li Array bixwîne (4 Mînakên îdeal)
- Meriv çawa di Excel de Rêzeyê ji Array veguherîneVBA (3 Away)
- Excel VBA: Dûberan ji Arrayekê derxîne (2 Nimûne)
2. ReDim Herdu Dimensîyonan 2D Array diparêze Excel VBA
Di vê rêbaza dawîn de, em ê gavan ji nûvekirina mezinbûnê û " ReDim Preserve " nîşanî 2D array bidin. Li vir, em ê fonksiyona VBA Transpose bikar bînin da ku mezinahiya sînorê jêrîn a rêzê biguhezînin. Ger me hewl da ku di rêbaza yekem de pîvana sînorê jêrîn a rêzê ji nû ve biguherînin, wê hingê em ê xeletiya " Aboneya ji rêzê " bibînin. Niha, bêyî ku em zêde bikin, em bibînin ka em çawa dikarin vê yekê rast bikin û bigihîjin armanca xwe.
Gavên:
- Yekemîn, wekî ku di rêbaza yekem de tê xuyang kirin , pencereya Modulê veke.
- Ya duyemîn, rêzikên kodê yên jêrîn têxe nav koda yekem.
5630
- Herwiha, koda rêbaza dawî wiha xuya dike.
6185
Veqetandina Koda VBA
- Pêşî, em gazî pêvajoya jêrîn dikin " ReDim_Preserve_2D_Array_Both_Dimensions " .
- Piştre, kodên mayî yên heta fonksiyona VBA Transpose wekî di koda yekem de ne.
- Li vir, em rêzê vediguhezînin.
- Piştre, em sînorê jorîn ê rêzê zêde dikin.
- Piştî wê, em rêzê dîsa veguhezînin. Ji ber vê yekê, di dawiyê de ew ê sînorê jêrîn biguhezîne.
- Piştre, em nirxan ji bo rêza guherbarkirî di dema kuparastina daneyên kevin.
- Axir, em nirxan di rêza şaneyê de dinivîsin C6:E9 .
- Piştî ew, wekî ku di rêbaza yekem de tê xuyang kirin , Rêve bike vê kodê.
- Bi vî rengî, em dikarin binerin ka kod çawa diparêze. Array 2D bi kar tîne " ReDim Preserve " û fonksiyona VBA Transpose .
Zêdetir Bixwîne: VBA ji bo Veguheztina Array di Excel de (3 Rêbaz)
Tiştên Bîranîn
- ReDim Preserve nikare sînorê jêrîn ê rêzê biguherîne. Ji bo vê yekê, divê em fonksiyona Transpose bikar bînin.
- Em tenê dikarin ReDim li ser rêzikên dînamîkî bikar bînin.
Encam
Me du awayên bilez nîşanî we dan ku hûn " ReDim Preserve " a 2D array di Excel VBA de. Ger hûn di derbarê van rêbazan de bi pirsgirêkek re rû bi rû bimînin an ji bo min bersivek hebe, ji kerema xwe li jêr şîrove bikin. Wekî din, hûn dikarin ji bo bêtir gotarên têkildarî Excel biçin malpera me ExcelWIKI . Spas ji bo xwendinê, serkeftin berdewam bike!