Vba: başka bir sayfadan düşeyara nasıl kullanılır?


VBA kullanarak başka bir sayfadan DÜŞEYARA gerçekleştirmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

 Sub Vlookup()
    Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub

Bu özel örnek, Sayfa2 adı verilen sayfanın A2 :C11 aralığındaki geçerli sayfanın A2 hücresindeki değeri arar ve aralığın üçüncü sütununda eşleşen değeri bulur, ardından sonucu geçerli sayfanın B2 hücresine atar.

Not : False’ın son argümanı tam bir eşleşme istediğimizi belirtir.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: VBA’da başka bir sayfadan DÜŞEYARA nasıl kullanılır?

Diyelim ki çeşitli basketbolcular hakkında bilgiler içeren bir Excel çalışma kitabındaki Sayfa2 adlı bir sayfada aşağıdaki veri setine sahibiz:

Şimdi Sayfa1 adlı sayfaya geçtiğimizi ve Sayfa2’nin veri kümesinde “Kings” takım adını bulmak ve Sayfa1’in asist sütununda karşılık gelen değeri döndürmek istediğimizi varsayalım.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub Vlookup()
    Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub

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

Makro, Krallar için doğru bir şekilde 3 asist değerini döndürüyor.

A2 hücresindeki takım adını değiştirip makroyu tekrar çalıştırırsak, yeni takım adı için yardımcı değeri doğru şekilde bulacaktır.

Örneğin takım adını “Savaşçılar” olarak değiştirdiğimizi ve makroyu tekrar çalıştırdığımızı varsayalım:

Makro, Warriors için doğru bir şekilde 4 asist değerini döndürüyor.

Not : VBA VLookup 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: Dizin eşleştirme nasıl kullanılır?
VBA: Bir sayfayı birden çok sütuna göre sıralama
VBA: bir dizenin başka bir dize içerip içermediği nasıl kontrol edilir

Yorum ekle

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