Բովանդակություն
Զանգվածը փոփոխական է, որը պահպանում է նույն տեսակի տվյալները: Եթե կա տվյալների միայն մեկ տող կամ մեկ սյունակ, ապա այն հայտնի է որպես միաչափ զանգված։ Այնուամենայնիվ, երբ կա մեկից ավելի տող և սյունակ, այն կոչվում է 2D զանգված: Մենք օգտագործում ենք ReDim ՝ VBA-ում զանգվածը չափափոխելու համար: Բացի այդ, մենք օգտագործում ենք Պահպանել հիմնաբառը ReDim -ով` հին տվյալները անփոփոխ պահելու համար: Այս հոդվածը ձեզ ցույց կտա 2 արագ եղանակներ ReDim Պահպանել > 2D զանգված Excel VBA .
Ներբեռնեք պրակտիկայի աշխատանքային գիրքը
Macro to ReDim Preserve 2D.xlsm
2 հարմար մոտեցումներ ReDim Preserve 2D Array Excel VBA-ում
Սա բազային տվյալների բազան է, որը ստեղծվել է 2D զանգվածից երեք տողով և երկու սյունակով: Նախ, մենք կստեղծենք այս զանգվածը: Այնուհետև այս զանգվածին կավելացնենք ևս մեկ սյունակ: Դա անելու համար մենք կօգտագործենք « ReDim Preserve »: Բացի այդ, մենք ցույց կտանք, թե ինչ է տեղի ունենում, եթե չօգտագործենք սա:
Լռելյայն, մենք կարող ենք չափափոխել միայն զանգվածի վերջին չափը (այսինքն՝ սյունակները կամ վերին սահմանը): Մենք կփոխադրենք զանգվածը, այնուհետև կփոխենք վերջին չափը և այնուհետև նորից կփոխադրենք՝ Excel VBA-ում 2D զանգվածի երկու չափերը փոխելու համար:
1 ReDim Reserve Last Dimension 2D Array
Մենք նախ կսահմանենք 2D զանգվածը որպես դինամիկ: Այնուհետև, օգտագործելով ReDim հայտարարությունը, մենք կստեղծենք անզանգված երեք տողով և երկու սյունակով: Ի վերջո, մենք կրկին կօգտագործենք ReDim հայտարարությունը Պահպանել հիմնաբառով մեծացրեք երկչափ զանգվածի վերին սահմանը:
Քայլեր.
- Սկզբից սեղմեք ALT+F11 ՝ VBA Module պատուհանը բացելու համար: Որպես այլընտրանք, դուք կարող եք դա անել Developer ներդիրից → ընտրել Visual Basic :
- Այնուհետև, Տեղադրեք ներդիր → ընտրեք Մոդուլ : Մենք այստեղ մուտքագրելու ենք VBA կոդը:
- Հաջորդում մուտքագրեք հետևյալ կոդը Module պատուհան.
5219
VBA կոդի խզում
- Նախ, մենք զանգում ենք the Sub procedure “ Redim_Preserve_2D_Array_Row ”:
- Այնուհետև մենք հայտարարում ենք Our_Array փոփոխականը որպես դինամիկ զանգված:
- Այնուհետև մենք սահմանում ենք զանգվածի չափը: Ներքևի սահմանը 3 է, վերին սահմանը` 2 , և երկուսն էլ սկսվում են 1 -ից:
- Այնուհետև մենք արժեքներ ենք վերագրում զանգվածին: .
- Դրանից հետո մենք արժեքները մուտքագրում ենք C6:D8 բջիջների տիրույթում:
- Այնուհետև մենք կգործարկի կոդը:
- Այսպիսով, Պահպանեք Մոդուլը և սեղմեք Գործարկել .
- Արդյունքում այն կվերադարձնի արժեքները սահմանված բջիջների տիրույթներին։ Մենք կարող ենք տեսնել, որ « Rachel »-ը գտնվում է 1 տողում և 1 սյունակի դիրքում,որը VBA կոդում սահմանվել է որպես ( 1,1 ):
- Այժմ մենք կչափափոխենք զանգվածը։
- Այսպիսով, ավելացրեք սա նախորդ կոդին և հեռացրեք առաջին Range.Value հայտարարությունը : Ավելին, թե ինչ տեսք ունի կոդը, կարող եք տեսնել ստորև բերված նկարից:
3193
- Այստեղ մենք ավելացրել ենք վերին սահմանը ( ) 1 Դեպի 2 ) դեպի ( 1 Դեպի 3 ) 1 .
- Այնուհետև զանգվածին ավելացրել ենք արժեքները:
- Այժմ եթե գործարկենք այս կոդը, ապա կտեսնենք, որ նախկին արժեքները չեն պահպանվել: Այն կվերադառնա դատարկ նախորդ արժեքների համար:
- Այժմ մենք կարող ենք դա շտկել` ավելացնելով Պահպանել հիմնաբառը -ում: 1>ReDim հայտարարություն ։
- Վերջապես, մեր ամբողջական կոդը կլինի սա։
1396
- Այժմ, եթե մենք Գործարկեք այս կոդը, ապա արդյունքը կլինի այսպիսին. Այսպիսով, մենք « ReDim Preserve » կկատարենք 2D զանգվածի վերջին չափը Excel VBA-ում: Այժմ հաջորդ մեթոդը ցույց կտա ձեզ, թե ինչպես կարելի է « ReDim Պահպանել » և չափափոխել զանգվածի երկու չափսերը:
Կարդալ ավելին. VBA-ն յուրահատուկ դարձնելու համար Արժեքները սյունակից զանգվածից Excel-ում (3 չափանիշ)
Նմանատիպ ընթերցումներ
- Ինչպես անվանել աղյուսակի զանգվածը Excel-ում (հետ Հեշտ քայլեր)
- Excel VBA CSV ֆայլը զանգվածի մեջ կարդալու համար (4 իդեալական օրինակ)
- Ինչպես փոխարկել միջակայքը զանգվածի Excel-ումVBA (3 եղանակ)
- Excel VBA. Հեռացրեք կրկնօրինակները զանգվածից (2 օրինակ)
2. ReDim Պահպանեք երկու չափսերի 2D զանգվածը Excel VBA
Այս վերջին մեթոդում մենք ձեզ ցույց կտանք չափափոխելու քայլերը և « ReDim Պահպանել » 2D զանգվածը : Այստեղ մենք կօգտագործենք VBA Transpose ֆունկցիան զանգվածի ստորին սահմանի չափը փոխելու համար: Եթե առաջին մեթոդով փորձեցինք չափափոխել զանգվածի ստորին սահմանը, ապա կտեսնենք « Subscript out of range » սխալը: Հիմա, առանց հավելյալ երկարաձգելու, տեսնենք, թե ինչպես կարող ենք դա շտկել և հասնել մեր նպատակին:
Քայլեր.
- Նախ, ինչպես ցույց է տրված առաջին մեթոդում , բացեք Module պատուհանը:
- Երկրորդում ավելացրեք կոդի հետևյալ տողերը: առաջին կոդը:
1411
- Ավելին, վերջնական մեթոդի կոդը այսպիսի տեսք ունի.
4287
VBA կոդի բաշխում
- Սկզբում մենք կանչում ենք Ենթակարգը « ReDim_Preserve_2D_Array_Both_Dimensions " .
- Այնուհետև մնացած կոդերը մինչև VBA Transpose ֆունկցիան նույնն են, ինչ առաջին կոդում։
- Ահա, մենք փոխադրում են զանգվածը։
- Այնուհետև մենք մեծացնում ենք զանգվածի վերին սահմանը։
- Դրանից հետո զանգվածը նորից տեղափոխում ենք։ Հետևաբար, ի վերջո այն կփոխի ստորին սահմանը:
- Այնուհետև մենք մուտքագրում ենք չափափոխված զանգվածի արժեքները, մինչդեռպահպանելով հին տվյալները:
- Վերջում, մենք արժեքները գրում ենք բջիջների տիրույթում C6:E9 :
- Հետո որ, ինչպես ցույց է տրված առաջին մեթոդում , Գործարկեք այս կոդը:
- Այսպիսով, մենք կարող ենք պատկերացնել, թե ինչպես է կոդը պահպանում 2D զանգված օգտագործելով « ReDim Preserve » և VBA Transpose ֆունկցիաները:
Կարդալ ավելին. VBA զանգվածը Excel-ում փոխադրելու համար (3 մեթոդ)
Հիշելու բաներ
- ReDim Preserve չի կարող փոխել զանգվածի ստորին սահմանը: Դա անելու համար մենք պետք է օգտագործենք Transpose ֆունկցիան:
- Մենք կարող ենք օգտագործել միայն ReDim դինամիկ զանգվածների վրա:
Եզրակացություն
Մենք ձեզ ցույց ենք տվել երկու արագ ճանապարհ Excel VBA-ում « ReDim Պահպանել » 2D զանգված : Եթե դուք բախվում եք այս մեթոդների հետ կապված որևէ խնդրի կամ որևէ կարծիք ունեք ինձ համար, ազատ զգալ մեկնաբանեք ստորև: Ավելին, դուք կարող եք այցելել մեր կայքը ExcelWIKI Excel-ի հետ կապված ավելի շատ հոդվածների համար: Շնորհակալություն կարդալու համար, շարունակե՛ք գերազանցել: