Kesatuan VBA Excel
Kesatuan dalam VBA serupa dengan kesatuan dalam bahasa pengaturcaraan lain, di VBA kami menggunakan kesatuan untuk menggabungkan dua atau lebih daripada dua rentang untuk melakukan set operasi yang berbeza pada mereka, pernyataan yang digunakan untuk ini adalah kesatuan itu sendiri dan ia disebut sebagai kaedah penyatuan , misalnya, penyatuan (Range (B2: C7), Range (D2: E7)). pilih dan kaedah ini akan memilih sel.
Kaedah penyatuan melaksanakan tugas membuat penyatuan dua atau lebih julat dan mengembalikan hasilnya sebagai objek RANGE. Ini berfungsi sama seperti contoh di bawah dengan objek VBA RANGE.
Sintaks
Sekarang perhatikan sintaks kaedah UNION.
Kita perlu menyediakan minimum 2 julat.
- Arg 1: Ini adalah rangkaian sel pertama yang kita perlukan untuk mewujudkan penyatuan.
- Arg 2: Ini adalah sel kedua yang perlu kita buat untuk menyatukan.
Dua parameter pertama adalah wajib, setelah menyebut dua julat sel maka semua argumen lain menjadi pilihan.
Apabila data tersebar secara berasingan dalam sel, kita perlu menggabungkan semua data ke satu untuk melakukan tugas yang sama. Kita boleh membuat satu persatuan yang tersebar dengan satu untuk melakukan tugas yang serupa untuk semua rentang kesatuan.
Untuk memilih pelbagai julat sel, kita biasanya dapat menggunakan objek RANGE. Sebagai contoh, jika kita ingin memilih julat sel dari A1 hingga B5 dan dari B3 hingga D5, kita boleh menulis kod VBA seperti di bawah.
Kod:
Sub Union_Contoh1 () Kesatuan (Julat ("A1: B5"), Julat ("B3: D5")). Pilih Sub Akhir
Ini akan memilih julat sel seperti gambar di bawah.
Seperti yang dapat kita lihat pada gambar di atas julat pertama dipilih dari A1 hingga B5 dan julat kedua dipilih dari B3 hingga D5.
Ini adalah teknik biasa yang kita semua gunakan semasa membuat kod. Namun, ini bukan satu-satunya kaedah yang kami miliki dalam pengekodan dalam VBA, kami juga dapat menggunakan satu lagi kaedah yang disebut "kesatuan" untuk membuat penyatuan dua atau lebih rentang.
Bagaimana cara menggunakan Kaedah VBA Union untuk Bergabung dalam Pelbagai Jangkauan?
Anda boleh memuat turun Templat VBA Union Excel ini di sini - Templat VBA Union ExcelContoh # 1
Mari lakukan cara yang sama seperti yang kita lakukan dalam contoh di atas tetapi kali ini dengan menggunakan kaedah UNION.
Langkah 1 - Buka fungsi UNION dalam subproses.
Kod:
Sub Union_Contoh1 () Kesatuan (Sub Akhir
Langkah 2 - Sebutkan sel pertama menggunakan objek RANGE. Dalam kes ini, saya menyebut sel pertama sebagai A1 hingga B5 .
Kod:
Sub Kesatuan_Contoh1 () Kesatuan (Julat ("A1: A5"), Sub Akhir
Langkah 3 - Sekarang sebutkan julat sel kedua menggunakan objek RANGE, dalam kes ini, saya menyebut julat sel sebagai B3 hingga D5 .
Kod:
Sub Kesatuan_Contoh1 () Kesatuan (Julat ("A1: A5"), Julat ("B3: B5")) Sub Akhir
Langkah 4 - Setelah membuat penyatuan julat sel ini, kita perlu memutuskan apa yang perlu kita lakukan dengan rangkaian sel ini. Masukkan titik (.) Untuk melihat senarai IntelliSense.
Kod:
Sub Union_Contoh1 () Kesatuan (Julat ("A1: A5"), Julat ("B3: B5")). Sub Akhir
Langkah 5 - Kita dapat melihat semua sifat dan kaedah yang tersedia dalam julat ini.
Untuk contoh ini, saya akan menukar warna dalaman sel kesatuan. Untuk ini, saya perlu memilih harta dalaman.
Kod:
Sub Union_Contoh1 () Kesatuan (Julat ("A1: A5"), Julat ("B3: B5")). Sub Akhir Bahagian Dalaman
Langkah 6 - Dengan harta benda dalaman, kita boleh melakukan banyak perkara, tetapi kerana kita perlu menukar warna sel kesatuan, saya akan memilih warna Warna.
Kod:
Sub Union_Contoh1 () Kesatuan (Julat ("A1: A5"), Julat ("B3: B5")). Bahagian Dalaman.Warna Akhir
Langkah 7 - Sekarang kita perlu menetapkan sifat warna. Saya akan menggunakan harta indeks warna terbina dalam sebagai vbGreen.
Kod:
Sub Union_Contoh1 () Kesatuan (Julat ("A1: A5"), Julat ("B3: B5")). Interior.Color = vbGabungan Akhir Hijau
Langkah 8 - Sekarang jika saya menjalankan warna kod sel kesatuan akan diubah menjadi warna Hijau.
Seperti ini menggunakan kaedah Union, kita dapat membuat serentak dua atau lebih rangkaian sel.
Contoh # 2 - Gunakan Pemboleh ubah untuk Menyimpan Julat Sel
Semua pengekod menggunakan pemboleh ubah untuk menyimpan rujukan julat sel. Sebagai contoh lihat kod di bawah.
Kod:
Sub Union_Contoh2 () Dim Rng1 Sebagai Julat Dim Rng2 Sebagai Julat Set Rng1 = Julat ("A1: B5") Tetapkan Rng2 = Julat ("B3: D5") Kesatuan (Rng1, Rng2) .Dalaman.Warna = vbGambar Sub Hijau
Pertama saya telah menyatakan dua pemboleh ubah sebagai Range.
Dim Rng1 Sebagai Julat
Dim Rng2 Sebagai Julat
Kemudian saya telah menetapkan rujukan untuk dua pemboleh ubah ini.
Tetapkan Rng1 = Julat (“A1: B5”)
Tetapkan Rng2 = Julat (“B3: D5”)
Sekarang pemboleh ubah rng1 memegang rujukan Range ("A1: B5") dan pemboleh ubah kedua rng2 memegang rujukan Range ("B3: D5").
Kemudian saya telah menggunakan fungsi UNION untuk mengubah warna dalaman sel ini.
Ini juga berfungsi sama seperti yang sebelumnya tetapi menggunakan pemboleh ubah menjadikan kodnya sangat fleksibel untuk digunakan.
Ralat dengan Fungsi Union
As I told all the references should be mandatory for the UNION method. For an example look at the below code.
Code:
Sub Union_Example3() Dim Rng1 As Range Dim Rng2 As Range Dim Rng3 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen End Sub
This is similar to the previous but here I have declared one more variable as Range.
Dim Rng3 As Range
But I have not set the reference to this variable, rather I just supplied the variable to the UNION function.
Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen
If I run this code we will get the error like the below.
This is because whatever the variable we supply to the argument should hold some reference of the cells in the worksheet we are working on.