Kesatuan VBA

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 Excel

Contoh # 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.