Daptar eusi
Asép Sunandar Sunarya mangrupa variabel anu nyimpen data anu sarua. Lamun ngan aya hiji baris atawa hiji kolom data, mangka katelah Asép Sunandar Sunarya hiji diménsi. Sanajan kitu, lamun aya leuwih ti hiji baris jeung kolom, mangka disebut arrays 2D. Kami nganggo ReDim pikeun ngatur ukuran array dina VBA. Salaku tambahan, kami nganggo Preserve keyword sareng ReDim pikeun ngajaga data anu lami. Artikel ieu bakal nunjukkeun anjeun 2 cara gancang pikeun " ReDim Preserve " a 2D array dina Excel VBA .
Unduh Buku Latihan Praktek
Makro pikeun ReDim Preserve 2D.xlsm
2 Pendekatan anu Guna pikeun ReDim Preserve 2D Array in Excel VBA
Ieu mangrupikeun set data dasar anu didamel tina 2D array kalayan tilu jajar sareng dua kolom. Firstly, urang bakal nyieun Asép Sunandar Sunarya ieu. Lajeng, urang bakal nambahan kolom sejen ka Asép Sunandar Sunarya ieu. Urang bakal nganggo " ReDim Preserve " pikeun ngalakukeunana. Salaku tambahan, urang bakal nunjukkeun naon anu bakal kajadian upami urang henteu nganggo ieu.
Sacara standar, urang ngan ukur tiasa ngatur ukuran diménsi anu terakhir tina array (nyaéta kolom atanapi wates luhur). Urang bakal transpose array, lajeng ngarobah dimensi panungtungan, lajeng transpose deui pikeun ngarobah ukuran duanana dimensi tina 2D array dina Excel VBA.
1 ReDim Preserve Last Dimension 2D Array
Urang bakal nangtukeun heula 2D array salaku dinamis. Lajeng, ngagunakeun ReDim pernyataan, urang bakal nyieun hijiAsép Sunandar Sunarya kalawan tilu jajar jeung dua kolom. Anu pamungkas, urang bakal make deui pernyataan ReDim jeung Preserve keyword to nambahan wates luhur array dua diménsi.
Lengkah-léngkah:
- Pikeun ngamimitian, pencét ALT+F11 pikeun muka jandela VBA Module . Alternatipna, anjeun tiasa ngalakukeun ieu tina tab Developer → pilih Visual Basic .
- Teras, tina Selapkeun tab → pilih Modul . Urang bakal ngetik kodeu VBA di dieu.
- Salajengna, ketik kodeu ieu dina Modul jandela.
2801
VBA Code Breakdown
- Kahiji, urang nelepon Subprosedur " Redim_Preserve_2D_Array_Row ".
- Lajeng, urang nyatakeun variabel Our_Array salaku array dinamis.
- Salajengna, urang nangtukeun ukuran array. Wates handap nyaéta 3 , wates luhur 2 , sarta duanana dimimitian ti 1 .
- Lajeng, urang nangtukeun nilai ka array .
- Sanggeus éta, urang ngasupkeun niléy ka C6:D8 rentang sél.
- Sanggeus éta, urang bakal ngaéksekusi kodeu.
- Jadi, Simpen Modul jeung pencét Run .
- Hasilna, éta bakal mulangkeun niléy ka rentang sél nu tangtu. Urang tiasa ningali yén " Rachel " aya dina baris 1 sareng kolom 1 posisi,nu dihartikeun salaku ( 1,1 ) dina kode VBA.
- Ayeuna, urang bakal ngatur ukuran array.
- Jadi, tambahkeun ieu kana kode saméméhna jeung cabut Pernyataan Range.Value munggaran. Leuwih ti éta, kumaha kodeu kasampak kawas anjeun bisa nempo tina snapshot di handap.
5101
- Di dieu, urang geus ngaronjat wates luhur ti ( 1 Ka 2 ) nepi ka ( 1 Ka 3 ) ku 1 .
- Lajeng, urang geus ditambahkeun nilai ka array.
- Ayeuna lamun urang ngaéksekusi kode ieu, mangka urang bakal ningali nilai saméméhna teu dilestarikan. Bakal balik kosong pikeun nilai saméméhna.
- Ayeuna, urang bisa ngalereskeun ieu ku nambahkeun Preserve keyword kana Pernyataan ReDim .
- Ahirna, kodeu lengkep urang bakal kieu.
4069
- Ayeuna, lamun urang Jalankeun kode ieu, teras kaluaran bakal sapertos kieu. Ku kituna, urang bakal " ReDim Preserve " dimensi panungtungan of a 2D array dina Excel VBA.. Ayeuna, metodeu salajengna bakal némbongkeun Anjeun cara " ReDim Preserve ” jeung ubah ukuran duanana diménsi array.
Baca Leuwih lengkep: VBA Pikeun Meunangkeun Unik Nilai tina Kolom kana Array dina Excel (3 Kriteria)
Bacaan Sarupa
- Kumaha Namikeun Array Tabel dina Excel (Kalayan Léngkah Gampang)
- Excel VBA pikeun Maca File CSV kana Array (4 Conto Idéal)
- Kumaha Ngarobih Range kana Array dina ExcelVBA (3 Cara)
- Excel VBA: Hapus Duplikat tina Array (2 Conto)
2. ReDim Preserve Boh Dimension 2D Array dina Excel VBA
Dina metode ahir ieu, kami bakal nunjukkeun anjeun léngkah-léngkah pikeun ngatur ukuran sareng " ReDim Preserve " 2D array . Di dieu, urang bakal ngagunakeun fungsi VBA Transpose pikeun ngatur ukuran wates handap array. Lamun urang nyoba ngarobah ukuran wates handap Asép Sunandar Sunarya dina metoda kahiji, mangka urang bakal ningali kasalahan " Subscript kaluar tina rentang ". Ayeuna, tanpa basa-basi deui, hayu urang tingali kumaha urang tiasa ngalereskeun ieu sareng ngahontal tujuan urang.
Lengkah:
- Kahiji, sakumaha ditémbongkeun dina metoda kahiji , muka jandela Modul .
- Kadua, tambahkeun baris kode di handap ieu kana kode kahiji.
3258
- Salajengna, kodeu pikeun metodeu ahir sapertos kieu.
6447
Pemecahan Kode VBA
- Kahiji, urang nyauran Sub prosedur " ReDim_Preserve_2D_Array_Both_Dimensions " .
- Lajeng, sesa kodeu nepi ka fungsi VBA Transpose sarua jeung dina kode kahiji.
- Di dieu, urang nuju transposing array.
- Terus, urang nambahan wates luhur array.
- Sanggeus éta, urang transpose array deui. Ku alatan éta, ahirna bakal ngarobah wates handap.
- Salajengna, urang input nilai-nilai pikeun array nu dirobah ukuranana baringajaga data heubeul.
- Pamungkas, urang nulis nilai kana rentang sél C6:E9 .
- Sanggeus éta, sakumaha ditémbongkeun dina métode kahiji , Jalankeun kode ieu.
- Ku kituna, urang bisa visualize kumaha kode preserves a Array 2D ngagunakeun " ReDim Preserve " jeung fungsi VBA Transpose .
Maca deui: VBA kana Transpose Array dina Excel (3 Métode)
Hal-hal anu Perlu Diinget
- ReDim Preserve teu bisa ngarobah wates handap array. Jang ngalampahkeun kitu, urang kudu make fungsi Transpose .
- Urang ngan bisa make ReDim dina susunan dinamis.
Kacindekan
Kami parantos nunjukkeun anjeun dua cara gancang pikeun " ReDim Preserve " a 2D array dina Excel VBA. Upami anjeun nyanghareupan masalah naon waé ngeunaan padika ieu atanapi gaduh eupan balik pikeun kuring, mangga mairan di handap. Sumawona, anjeun tiasa nganjang ka situs kami ExcelWIKI kanggo langkung seueur tulisan anu aya hubunganana sareng Excel. Hatur nuhun pikeun maca, tetep unggul!