Vba'da union nasıl kullanılır (örnekle)


Birden çok aralığı tek bir aralıkta birleştirmek için VBA’daki Union yöntemini kullanabilirsiniz.

Bu yöntemi pratikte kullanmanın yaygın bir yolu:

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

Bu özel makro, A1:A10 ve C1:C10 aralığını tek bir aralıkta birleştirir, ardından bu birleştirilmiş aralıktaki her değere =RANDBETWEEN(1, 100) Excel formülünü atar ve bu, 1 ile 100 arasında rastgele bir değer üretir.

Aşağıdaki örnekte VBA’da Union yönteminin pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: VBA’da Aralıkları Birleştirmek için Union Nasıl Kullanılır

A1:A10 ve C1:C10 aralıklarını birleştirmek amacıyla Union yöntemini kullanmak için VBA’da aşağıdaki makroyu tanımlayabiliriz:

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

A1:A10 ve C1:C10 aralığındaki her hücre artık 1 ile 100 arasında rastgele bir tamsayı döndüren =RANDBETWEEN(1, 100) formülünü içeriyor.

Ayrıca Union yöntemine ikiden fazla aralık sağlayabileceğimizi unutmayın.

Örneğin, üç farklı aralığı birleştirmek için Union yöntemini kullanan aşağıdaki makroyu oluşturabilir, ardından her aralığın hücresine bir formül ekleyebiliriz:

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"), Range("D1:D5" ))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Bir araya getirdiğimiz üç aralığın tümü artık RANDBETWEEN formülünü içeriyor.

Not : VBA Union yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA’da kesişim nasıl kullanılır?
VBA’da kullanılan sütunların sayısı nasıl sayılır?
VBA’da bir çalışma kitabındaki sayfaların sayısı nasıl sayılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir