Excel VBA-da 2D massivini necə yenidən rəngləndirmək olar (2 asan yol)

  • Bunu Paylaş
Hugh West

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 Ç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!

Hugh West sənayedə 10 ildən çox təcrübəyə malik yüksək təcrübəli Excel təlimçisi və analitikidir. Mühasibat uçotu və maliyyə üzrə bakalavr dərəcəsi və Biznesin idarə edilməsi üzrə magistr dərəcəsinə malikdir. Hugh tədrisə həvəslidir və izləmək və başa düşmək asan olan unikal tədris yanaşması işləyib hazırlayıb. Onun Excel üzrə ekspert biliyi bütün dünyada minlərlə tələbə və mütəxəssisə öz bacarıqlarını təkmilləşdirməyə və karyeralarında üstün olmağa kömək etmişdir. Hugh öz bloqu vasitəsilə biliklərini dünya ilə bölüşür, fərdlərə və müəssisələrə öz potensiallarını tam şəkildə çatdırmaq üçün pulsuz Excel dərsləri və onlayn təlimlər təklif edir.