VBA Birliği - Excel VBA Union kullanarak Birden Çok Aralığa Katılın

İçindekiler

Excel VBA Birliği

VBA'daki birleşme, diğer programlama dillerindeki birliğe benzer , VBA'da , üzerinde farklı işlem kümeleri gerçekleştirmek için iki veya ikiden fazla aralığı birleştirmek için birleştirme kullanırız, bunun için kullanılan ifade kendi başına birleşimdir ve birleşim yöntemi olarak adlandırılır. Örneğin, birleşim (Aralık (B2: C7), Aralık (D2: E7)). seçin ve bu yöntem hücreleri seçecektir.

Union yöntemi, iki veya daha fazla aralığın birleşimini oluşturma görevini gerçekleştirir ve sonucu bir RANGE nesnesi olarak döndürür. Bu, VBA RANGE nesnesiyle aşağıdaki örnekteki ile tamamen aynı şekilde çalışır.

Sözdizimi

Şimdi UNION yönteminin sözdizimine bir göz atın.

En az 2 aralık sağlamamız gerekiyor.

  • Arg 1: Bu, birleşimini yaratmamız gereken ilk hücre aralığıdır.
  • Arg 2: Bu, bir birlik oluşturmamız gereken ikinci hücre aralığıdır.

İlk iki parametre zorunludur, iki hücre aralığından bahsedildikten sonra diğer tüm bağımsız değişkenler isteğe bağlı hale gelir.

Veriler hücrelerde parçalara bölündüğünde, ortak bir görevi gerçekleştirmek için tüm veri aralığını bir araya getirmemiz gerekir. Tüm birleşim aralıkları için benzer bir görevi gerçekleştirmek için bir dağınık aralık birliği oluşturabiliriz.

Birden fazla hücre aralığını seçmek için genellikle RANGE nesnesini kullanabiliriz. Örneğin A1'den B5'e ve B3'ten D5'e hücre aralığını seçmek istersek, VBA kodunu aşağıdaki gibi yazabiliriz.

Kod:

Sub Union_Example1 () Union (Aralık ("A1: B5"), Aralık ("B3: D5")). End Sub

Bu, aşağıdaki görüntüdeki gibi hücre aralığını seçecektir.

Yukarıdaki resimde görebileceğimiz gibi, birinci aralık A1'den B5'e, ikinci aralık B3'ten D5'e kadar seçilir.

Kodlama sırasında hepimizin kullandığı ortak teknik budur. Ancak, VBA'da kodlamada sahip olduğumuz tek yöntem bu değil; ayrıca iki veya daha fazla aralıktan oluşan bir birleşim oluşturmak için "birleşim" adı verilen bir yöntem daha kullanabiliriz.

Birden Çok Aralığa Katılmak için VBA Union Yöntemi nasıl kullanılır?

Örnek 1

Yukarıdaki örnekte yaptığımız gibi aynı çekimi yapalım ama bu sefer UNION yöntemini kullanarak.

Adım 1 - Alt prosedürde UNION işlevini açın.

Kod:

Sub Union_Example1 () Union (End Sub

Adım 2 - RANGE nesnesini kullanarak ilk hücre aralığından bahsedin. Bu durumda, A1 ila B5 arasındaki ilk hücre aralığından bahsediyorum .

Kod:

Alt Birlik_Örnek1 () Birlik (Aralık ("A1: A5"), Son Alt

Adım 3 - Şimdi RANGE nesnesini kullanan ikinci hücre aralığından bahsedin, bu durumda, hücre aralığından B3 ila D5 olarak bahsediyorum .

Kod:

Alt Birlik_Örnek1 () Birleşim (Aralık ("A1: A5"), Aralık ("B3: B5")) Son Alt

Adım 4 - Bu hücre aralığının birleşimini oluşturduktan sonra, bu birleşme hücre aralığı ile ne yapmamız gerektiğine karar vermeliyiz. IntelliSense listesini görmek için nokta (.) Koyun .

Kod:

Alt Birlik_Örnek1 () Birlik (Aralık ("A1: A5"), Aralık ("B3: B5")). Sub

Adım 5 - Bu aralıkların tüm mevcut özelliklerini ve yöntemlerini görebiliriz.

Bu örnek için, birleşim hücrelerinin İç rengini değiştireceğim. Bunun için önce Interior özelliğini seçmem gerekiyor.

Kod:

Alt Birlik_Örnek1 () Birlik (Aralık ("A1: A5"), Aralık ("B3: B5")). İç Uç Alt

Adım 6 - İç mekân özelliği ile birçok şey yapabiliriz, ancak birleşim hücrelerinin rengini değiştirmemiz gerektiğinden, Renk özelliğini seçeceğim.

Kod:

Alt Birlik_Örnek1 () Birlik (Aralık ("A1: A5"), Aralık ("B3: B5")). Interior.Color End Sub

Adım 7 - Şimdi, color özelliğini ayarlamamız gerekiyor. VbGreen olarak yerleşik bir renk indeksi özelliğini kullanacağım.

Kod:

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

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.

Bunun nedeni, argümana sağladığımız değişken ne olursa olsun, üzerinde çalıştığımız çalışma sayfasındaki hücrelerin bazı referanslarını tutması gerektiğidir.

Ilginç makaleler...