Mündəricat
Massiv eyni növ verilənləri saxlayan dəyişəndir. Yalnız bir sıra və ya bir verilənlər sütunu varsa, o, bir ölçülü massiv kimi tanınır. Bununla belə, birdən çox sətir və sütun olduqda, o, 2D massivi adlanır. VBA-da massivin ölçüsünü dəyişmək üçün ReDim -dən istifadə edirik. Bundan əlavə, biz köhnə məlumatları toxunulmaz saxlamaq üçün Preserve açar sözünü ReDim ilə istifadə edirik. Bu məqalə sizə 2 Excel VBA<-da 2D massivi " ReDim Preserve " üçün sürətli yolları göstərəcək. 3> .
Təcrübə İş Kitabını Yükləyin
Makro to ReDim Preserve 2D.xlsm
2 Faydalı Yanaşma Excel VBA-da ReDim Preserve 2D Massivi
Bu, üç sıra və iki sütunlu 2D massivi -dən yaradılmış əsas verilənlər toplusudur. Əvvəlcə bu massivi yaradacağıq. Daha sonra bu massivə başqa bir sütun əlavə edəcəyik. Bunun üçün biz “ ReDim Preserve ” istifadə edəcəyik. Bundan əlavə, bundan istifadə etməsək nə baş verəcəyini nümayiş etdirəcəyik.
Defolt olaraq, biz yalnız massivin son ölçüsünü dəyişə bilərik (yəni, sütunlar və ya yuxarı sərhəd). Excel VBA-da 2D massiv -in hər iki ölçüsünü dəyişmək üçün massivi yerləşdirəcəyik, sonra sonuncu ölçüsü dəyişdirəcəyik.
1 ReDim Son Ölçü 2D massivini qoruyun
Biz əvvəlcə 2D massivi -ni dinamik olaraq təyin edəcəyik. Sonra ReDim ifadəsindən istifadə edərək, biz bir yaradacağıqüç sıra və iki sütunlu massiv. Nəhayət, biz ReDim ifadəsini yenidən Preserve açar sözü üçün istifadə edəcəyik. iki ölçülü massivin yuxarı sərhədini artırın.
Addımlar:
- Başlamaq üçün ALT+F11 düymələrini basın. VBA Modulu pəncərəsini açmaq üçün . Alternativ olaraq, bunu Developer nişanından edə bilərsiniz → Visual Basic seçin.
- Sonra, Daxil edin tab → seçin Modul . VBA kodunu buraya yazacağıq.
- Sonra, Module aşağıdakı kodu daxil edin. pəncərə.
6391
VBA Kodunun Dağılması
- İlk olaraq, biz zəng edirik Alt prosedur “ Redim_Preserve_2D_Array_Row ”.
- Sonra biz Bizim_Array dəyişənini dinamik massiv kimi elan edirik.
- Sonra massivin ölçüsünü təyin edirik. Aşağı hədd 3 , yuxarı həddi 2 və hər ikisi 1 -dən başlayır.
- Sonra, massivə qiymətlər təyin edirik. .
- Bundan sonra biz dəyərləri C6:D8 xana diapazonuna daxil edirik.
- Bundan sonra biz kodu icra edəcək.
- Beləliklə, Saxla Modulu və Çalışdır
- Nəticədə o, dəyərləri müəyyən edilmiş xana diapazonlarına qaytaracaq. Görə bilərik ki, “ Rachel ” satır 1 və sütun 1 mövqeyindədir,VBA kodunda ( 1,1 ) kimi müəyyən edilmişdir.
- İndi biz massivin ölçüsünü dəyişəcəyik.
- Beləliklə, bunu əvvəlki koda əlavə edin və ilk Range.Value ifadəsini silin. Bundan əlavə, kodun necə göründüyünü aşağıdakı şəkildən görə bilərsiniz.
1630
- Burada ( ) yuxarı sərhədi artırdıq. 1 To 2 ) - ( 1 To 3 ) ilə 1 .
- Sonra biz dəyərləri massiləyə əlavə etdik.
- İndi bu kodu icra etsək, əvvəlki qiymətlərin qorunub saxlanmadığını görərik. O, əvvəlki qiymətlər üçün boş qaytaracaq.
- İndi biz bunu Preserve açar sözünü əlavə edərək düzəldə bilərik. 1>ReDim bəyanatı .
- Nəhayət, tam kodumuz bu olacaq.
1189
- İndi əgər biz Bu kodu işlədin , onda çıxış belə olacaq. Beləliklə, Excel VBA-da 2D massivinin son ölçüsünü “ ReDim Preserve ” edəcəyik. İndi növbəti üsul sizə “ ReDim-in necə aparılacağını göstərəcək Qorun ” və massivin hər iki ölçüsünü dəyişdirin.
Ətraflı oxuyun: Unikal Almaq üçün VBA Excel-də Sütundan Massiləyə Dəyərlər (3 Kriteriya)
Oxşar Oxumalar
- Excel-də Cədvəl Massivinə Necə Ad Vermək olar Asan addımlar)
- CSV faylını massivdə oxumaq üçün Excel VBA (4 ideal nümunə)
- Excel-də diapazonu massilə necə çevirmək olarVBA (3 yol)
- Excel VBA: Massivdən Dublikatları Sil (2 Nümunə)
2. ReDim Hər iki Ölçü 2D Massivini qoruyun Excel VBA
Bu son metodda biz sizə 2D massivinin ölçüsünü dəyişmək və “ ReDim Preserve ” üçün addımları göstərəcəyik. Burada massivin aşağı sərhədinin ölçüsünü dəyişmək üçün VBA Transpose funksiyasından istifadə edəcəyik. Əgər birinci üsulda massivin aşağı sərhəddinin ölçüsünü dəyişməyə çalışsaq, onda biz “ Altyazı diapazondan kənar ” xətasını görəcəyik. İndi, uzatmadan, gəlin bunu necə düzəldə biləcəyimizi və məqsədimizə nail ola biləcəyimizi görək.
Addımlar:
- İlk olaraq, birinci üsulda göstərildiyi kimi , Module pəncərəsini açın.
- İkincisi, aşağıdakı kod sətirlərini daxil edin. birinci kod.
3204
- Bundan başqa, son metodun kodu belə görünür.
6134
VBA Kodunun Dağılımı
- İlk olaraq, biz Alt proseduru “ ReDim_Preserve_2D_Array_Hər iki Ölçü ” adlandırırıq. .
- Sonra VBA Transpose funksiyasına qədər qalan kodlar birinci koddakı kimidir.
- Burada biz massivi köçürürük.
- Sonra biz massivin yuxarı sərhədini artırırıq.
- Bundan sonra massivi yenidən köçürürük. Buna görə də, nəticədə o, aşağı sərhədi dəyişəcək.
- Sonra, ölçüsü dəyişdirilən massiv üçün dəyərləri daxil edirik.köhnə verilənləri qoruyaraq.
- Son olaraq dəyərləri C6:E9 xana diapazonuna yazırıq.
- Sonra ki, birinci metodda göstərildiyi kimi , İşlə bu kodu.
- Beləliklə, kodun -i necə qoruduğunu təsəvvür edə bilərik. “ ReDim Preserve ” və VBA Transpose funksiyasından istifadə edərək 2D massivi .
Ətraflı oxuyun: Excel-də Massiv Transpoze etmək üçün VBA (3 Metod)
Yadda saxlamalı olduğunuz şeylər
- ReDim Preserve massivin aşağı sərhədini dəyişə bilməz. Bunun üçün biz Transpose funksiyasından istifadə etməliyik.
- Biz yalnız dinamik massivlərdə ReDim istifadə edə bilərik.
Nəticə
Biz sizə Excel VBA-da “ ReDim Preserve ” 2D massivi -nin iki sürətli yolunu göstərdik. Bu üsullarla bağlı hər hansı problemlə üzləşsəniz və ya mənim üçün hər hansı rəyiniz varsa, aşağıda şərh verməkdən çekinmeyin. Bundan əlavə, Excel ilə bağlı daha çox məqalə üçün ExcelWIKI saytımıza daxil ola bilərsiniz. Oxuduğunuz üçün təşəkkür edirik, üstün olmağa davam edin!