VBA Arama İşlevi - Arama Fonksiyonu nasıl kullanılır? (Örnekler)

Excel VBA LOOKUP İşlevi

Arama, verileri ana tablodan tek bir arama değerine göre almamıza yardımcı olan işlevdir. VBA LOOKUP işlevi böyle bir veri yapısı gerektirmez, ARA işlevi için sonuç sütununun arama değerinin sağında veya solunda olması önemli değildir, yine de verileri rahatça getirebilir.

Bu, DÜŞEYARA işlevine benzer şekilde çalışır, ancak daha da önemlisi, bu bir veri yapısında esnektir. Veri yapısında esnek dediğimizde, bu DÜŞEYARA'nın ana tablodaki bir arama değerinin sağındaki tüm değerlere ihtiyacı olduğu ve DÜŞEYARA arama değerine kalan hiçbir şeyin onu bulamayacağı anlamına gelir.

Sözdizimi

VBA düzenleyicide ARA formülünü zaten aradıysanız, eminim çıldırmışsınızdır çünkü VBA'da ARA adlı bir formül var.

Varsayılan olarak mevcut olmamasının nedeni LOOKUP bir VBA işlevi değil, bir çalışma sayfası işlevidir. Bu nedenle, ARA işlevini kullanmak için önce VBA sınıfında çalışma sayfası işlevini kullanmamız gerekir.

  • Arg 1 , arama değeri anlamına gelir
  • Arg 2 , arama vektörümüzdür, yani arama değeri sütunumuzun aralığı
  • Arg 3 bizim sonuç vektörümüzdür.

VBA Arama Fonksiyonu Nasıl Kullanılır? (Örnekler)

Örnek 1

VBA Excel'deki Arama işlevini kullanarak belirli bir ürün adının Ortalama Fiyatını almak istediğimiz aşağıdaki verilere sahibiz.

Aşağıdaki kodu kullanmak üzere Mobil Aksesuarların Ortalama Fiyatını almak için.

Adım 1: VBA'da alt prosedürü başlatın.

Kod:

Alt Arama_Örneği1 () Son Alt

Adım 2: F3 hücresinde sonuca ihtiyacım var. Yani benim kodum Aralık ("F3"). Değer =.

Kod:

Alt Arama_Örnek1 () Aralık ("F3"). Değer Son Alt

Adım 3: Söylediğim gibi, ARA işlevine hemen erişemedik. İlk olarak, Çalışma Sayfası Fonksiyon sınıfını kullanın.

Adım 4: Çalışma Sayfası Fonksiyonu sınıfını uyguladığımız anda, bu sınıfla mevcut tüm formülleri VBA'da görebiliriz, bu nedenle bu listeden ARA'yı seçin.

Adım 5: VBA'daki çalışma sayfası işlevleriyle, formülün net argümanlarını görmüyoruz. Burada Arg 1, arama değeri anlamına gelir. Arama değerimiz E3 hücresindedir, bu nedenle kodu Aralık ("E3") olarak yazın. Değer.

Kod:

Alt Arama_Örnek1 () Aralık ("F3"). Değer = Çalışma SayfasıFonksiyonu.Lookup (Aralık ("E3"). Değer Son Alt

Adım 6: Arg 2, arama vektörümüzdür, yani arama değeri sütunumuzun aralığıdır. Bu örnekte, arama vektörü aralığımız B3'ten B10'a kadardır.

Kod:

Alt Arama_Örnek1 () Aralık ("F3"). Değer = Çalışma Sayfası Fonksiyonu.Lookup (Aralık ("E3"). Değer, Aralık ("B3: B10"), Son Alt

Adım 7: Arg 3, sonuç vektörümüzdür. Ort. Fiyat sütunundaki sonuca ihtiyacımız var, bu nedenle sonuç vektörü Aralık C3'ten C10'a.

Kod:

Alt Arama_Örnek1 () Aralık ("F3"). Değer = Çalışma SayfasıFonksiyonu.Lookup (Aralık ("E3"). Değer, Aralık ("B3: B10"), Aralık ("C3: C10")) Son Alt

Tamam, VBA kodlamasını bitirdik.

Kodu çalıştıralım ve sonucu F3 hücresinde almalıyız.

Bunun gibi, sağlanan arama değerinin verilerini almak için çalışma sayfası işlevi sınıfı altındaki ARA işlevini kullanabiliriz.

Örnek 2

ARA İşlevi için Değişkenleri Kullanın

Değişkenleri kullanarak da sonuçlara ulaşabiliriz. Aşağıda, değişkenli arama işlevinin örnek kodu verilmiştir.

Kod:

Sub Lookup_Example2() Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range("F3") Set LookupValueCell = Range("E3") Set LookupVector = Range("B3:B10") Set ResultVector = Range("C3:C10") ResultCell = WorksheetFunction.Lookup(LookupValueCell, LookupVector, ResultVector) End Sub

Even though it looks lengthy, it will give good exposure to variables in VBA. Instead of supplying all the values to the formula directly, we have declared variables and assigned set of ranges and values to them.

Declaring variables and setting the reference to those variables is always a good practice in any coding language.

Things to Remember

  • LOOKUP is an alternative function to VLOOKUP.
  • ARA, sonuç sütununun arama değerinin sağında olmasını gerektirmez.
  • Hem arama vektörünün hem de sonuç vektörünün aralık uzunluğu aynı olmalıdır.
  • Daha da önemlisi, DÜŞEYARA işlevi için gerekli olan bir sütun dizin numarası sağlamamız gerekiyor.

Ilginç makaleler...