Kesatuan VBA - Sertailah Pelbagai Rang menggunakan Excel VBA Union

Isi kandungan

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, kesatuan (Range (B2: C7), Range (D2: E7)). pilih dan kaedah ini akan memilih sel.

Kaedah penyatuan melaksanakan tugas membuat penyatuan dua atau lebih rentang 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 dalam kepingan sel, kita perlu menggabungkan semua rentang data ke satu untuk melakukan tugas yang sama. Kita boleh membuat satu persatuan yang tersebar kepada 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 pengekodan. Walau bagaimanapun, ini bukan satu-satunya kaedah yang kami ada dalam pengekodan dalam VBA; kita juga boleh menggunakan satu kaedah lagi yang disebut "kesatuan" untuk mewujudkan satu persatuan dua atau lebih julat.

Bagaimana cara menggunakan Kaedah Kesatuan VBA untuk Bergabung dalam Pelbagai Rentang?

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 rangkaian 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 mengubah warna sel penyatuan, 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

Step 8 - Now if I run the code colours of the union cells will be changed to Green colour.

Like this using Union method, we can create unison of two or more range of cells.

Example #2 - Use Variables to Store Range of Cells

All most all the coders use variables to store the reference of the range of cells. For example, look at the below code.

Code:

Sub Union_Example2() Dim Rng1 As Range Dim Rng2 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2).Interior.Color = vbGreen End Sub

First, I have declared two variables as Range.

Dim Rng1 As Range

Dim Rng2 As Range

Then I have set the reference for these two variables.

Set Rng1 = Range(“A1:B5”)

Set Rng2 = Range(“B3:D5”)

Now variable rng1 holds the reference of Range(“A1:B5”) and the second variable rng2 holds the reference of Range(“B3:D5”).

Then I have applied UNION function to change the interior colour of these range of cells.

This also works exactly the same as the previous one, but using variable makes the code very flexible to use.

Error with Union Function

As I told all the references should be mandatory for the UNION method. For 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.

Ini kerana apa sahaja pemboleh ubah yang kami sediakan untuk argumen harus mengandungi sebilangan sel dalam lembaran kerja yang sedang kami kerjakan.

Artikel menarik...