VBA Union

Excel VBA Union

Union di VBA mirip dengan union dalam bahasa pemrograman lain, di VBA kami menggunakan union untuk menggabungkan dua atau lebih dari dua range untuk melakukan set operasi yang berbeda pada mereka, pernyataan yang digunakan untuk ini adalah union dan disebut sebagai metode union , misalnya, union (Range (B2: C7), Range (D2: E7)). pilih dan metode ini akan memilih sel.

Metode gabungan melakukan tugas membuat gabungan dari dua rentang atau lebih dan mengembalikan hasilnya sebagai objek RANGE. Ini bekerja persis sama seperti contoh di bawah ini dengan objek VBA RANGE.

Sintaksis

Sekarang lihat sintaks metode UNION.

Kami perlu menyediakan minimal 2 rentang.

  • Arg 1: Ini adalah rentang sel pertama yang perlu kita buat penyatuannya.
  • Arg 2: Ini adalah rentang sel kedua yang perlu kita buat penyatuan.

Dua parameter pertama adalah wajib, setelah menyebutkan dua rentang sel maka semua argumen lainnya menjadi opsional.

Ketika data tersebar dalam beberapa bagian dalam sel, kita perlu menggabungkan semua rentang data menjadi satu untuk melakukan tugas umum. Kita dapat membuat gabungan rentang tersebar menjadi satu untuk melakukan tugas serupa untuk semua rentang gabungan.

Untuk memilih beberapa rentang sel biasanya kita dapat menggunakan objek RANGE. Misalnya jika kita ingin memilih range sel dari A1 sampai B5 dan dari B3 sampai D5, kita bisa menulis kode VBA seperti di bawah ini.

Kode:

 Sub Union_Example1 () Union (Range ("A1: B5"), Range ("B3: D5")). Pilih End Sub 

Ini akan memilih rentang sel seperti gambar di bawah ini.

Seperti yang dapat kita lihat pada gambar di atas, rentang pertama dipilih dari A1 hingga B5 dan rentang kedua dipilih dari B3 hingga D5.

Ini adalah teknik umum yang kita semua gunakan saat membuat kode. Namun, ini bukan satu-satunya metode yang kami miliki dalam pengkodean di VBA, kami juga dapat menggunakan satu metode lagi yang disebut "union" untuk membuat gabungan dua rentang atau lebih.

Bagaimana cara menggunakan Metode VBA Union untuk Bergabung dengan Banyak Rentang?

Anda dapat mendownload Template VBA Union Excel ini di sini - Template VBA Union Excel

Contoh 1

Mari lakukan pengambilan yang sama seperti yang kita lakukan pada contoh di atas tetapi kali ini dengan menggunakan metode UNION.

Langkah 1 - Buka fungsi UNION di subprocedure.

Kode:

 Sub Union_Example1 () Union (End Sub 

Langkah 2 - Sebutkan rentang sel pertama menggunakan objek RANGE. Dalam kasus ini, saya menyebutkan rentang sel pertama sebagai A1 hingga B5 .

Kode:

 Sub Union_Example1 () Union (Range ("A1: A5"), End Sub 

Langkah 3 - Sekarang sebutkan rentang sel kedua menggunakan objek RANGE, dalam hal ini, saya menyebutkan rentang sel sebagai B3 hingga D5 .

Kode:

 Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")) End Sub 

Langkah 4 - Setelah membuat gabungan dari rentang sel ini, kita perlu memutuskan apa yang perlu kita lakukan dengan rentang sel gabungan ini. Letakkan titik (.) Untuk melihat daftar IntelliSense.

Kode:

Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Akhiri Sub

Langkah 5 - Kita dapat melihat semua properti dan metode yang tersedia dari rentang ini.

Untuk contoh ini, saya akan mengubah warna Interior sel union. Untuk ini, pertama-tama saya perlu memilih properti Interior.

Kode:

 Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior End Sub 

Langkah 6 - Dengan properti interior, kita dapat melakukan banyak hal, tetapi karena kita perlu mengubah warna sel gabungan, saya akan memilih Properti warna.

Kode:

 Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior.Color End Sub 

Langkah 7 - Sekarang kita perlu mengatur properti warna. Saya akan menggunakan properti indeks warna built-in sebagai vbGreen.

Kode:

 Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior.Color = vbGreen End Sub 

Langkah 8 - Sekarang jika saya menjalankan kode warna sel union akan berubah menjadi warna Hijau.

Seperti ini menggunakan metode Union, kita dapat membuat serentak dari dua atau lebih rentang sel.

Contoh # 2 - Gunakan Variabel untuk Menyimpan Rentang Sel

Hampir semua pembuat kode menggunakan variabel untuk menyimpan referensi dari rentang sel. Untuk contoh lihat kode di bawah ini.

Kode:

 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 

Pertama saya telah mendeklarasikan dua variabel sebagai Range.

Redupkan Rng1 Sebagai Rentang

Redupkan Rng2 Sebagai Rentang

Kemudian saya telah menetapkan referensi untuk kedua variabel ini.

Setel Rng1 = Rentang ("A1: B5")

Setel Rng2 = Rentang (“B3: D5”)

Sekarang variabel rng1 memegang referensi Range ("A1: B5") dan variabel kedua rng2 memegang referensi Range ("B3: D5").

Kemudian saya telah menerapkan fungsi UNION untuk mengubah warna interior rentang sel ini.

Ini juga berfungsi persis sama dengan yang sebelumnya tetapi menggunakan variabel membuat kode sangat fleksibel untuk digunakan.

Kesalahan 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.