VBA Bul İşlevi | VBA Bulma İşlevi nasıl kullanılır? (Örnekler)

Excel VBA Bul

Normal bir çalışma sayfasında Bul'u kullandığımızda CTRL + F klavye kısayoluna basıyoruz ve bulmamız gereken verileri yazıyoruz ve eğer istenmiyorsa bir sonraki eşleşmeye gidiyoruz, bu tür çok sayıda eşleşme varsa bu sıkıcı bir iştir, ancak ne zaman VBA'da FIND'ı kullanıyoruz, görevleri bizim için yapıyor ve bize tam eşleşmeyi veriyor ve üç argüman alıyor, biri ne bulmalı, nerede bulmalı ve nereye bakmalı.

VBA'ya geçmeden ve makrolarda bulma işlevini kullanmaya başlamadan önce, öncelikle excel'de bulma işlevinin ne olduğunu öğrenmemiz gerekir. Düzenleme grubunun altındaki Giriş sekmesindeki normal excel'de, bir hücre aralığında veya tüm çalışma sayfasındaki bir dizeyi veya değeri bulmak için kullanılan bir bulma işlevi bulabiliriz.

Buna tıkladığımızda karşımıza iki seçenek çıkıyor;

Birini bulmak çok kolay

Ayrıca başka bir özelliği açan bir seçenek modu olduğunu da görebiliriz.

Bul algoritmasını dört kısıtlama ile yapar: Ne, İçinde, Ara ve Bak.

Excel'deki ikinci seçenek, bir dizge bulduğumuzda kullanılan, ancak onu başka bir değerle ne değiştireceğimizi Bul ve değiştirmektir.

İşlev Sözdizimini Bul

Temel excel'de Bul'un ne olduğunu yukarıda öğrendik. VBA'da kodları manuel olarak yazıyoruz ancak özellikler normal excel ile aynı. İlk önce sözdizimine bakalım.

İfade Bul (Ne, bak,….)

Eğer aradığımız değer excel işlevi ile bulunursa, değerin olduğu hücreyi döndürür ve değer bulunmazsa, işlevin nesnesi hiçbir şeye ayarlanmaz.

Makrolardaki ifadeler, aralık 1 veya aralık 2 gibi tanımlanan aralıklardır. Belirli bir değeri aramak istediğimiz şey için anahtar kelime nedir? Lookin, aramaya çalıştığımız şey için bir anahtar sözcüktür, bir yorum mu, bir formül veya bir dizedir. Benzer şekilde, Find işlevinde isteğe bağlı olan başka kısıtlamalar da vardır. Zorunlu olan tek alan, aramaya çalıştığımız bir değerdir.

Temel olarak, VBA, Excel'de aramak istediğimiz değer olan bir gerekli bağımsız değişkene sahiptir. Kısıtlamaların geri kalanı isteğe bağlıdır ve bulma işlevinde birçok kısıtlama vardır. Find işlevi, bir bulma işlevinin excel'de ne olduğuna benzer.

Bul işlevinin parametresi hücre aralığıdır. Hangi aralıkta bir değer bulmak istediğimiz gibi. Birkaç sütun veya birkaç hücre veya tam bir çalışma sayfası olabilir.

Örnekler

Bu VBA FIND İşlevi Excel Şablonunu buradan indirebilirsiniz - VBA FIND İşlevi Excel Şablonu

Örnek 1

Verilerimizin aşağıdaki değerlere sahip olduğunu varsayalım

Aynı verilerde “Aran” ı bulmaya çalışacağız.

  • Bir VBA kodu yazmak için, VBA Kodlarını yazabilmek için excel'de geliştirici sekmesinin etkinleştirilmesi gerekir.

  • Aşağıda gösterildiği gibi aşağıdaki kodu yazarak kodumuzu yazmaya başlıyoruz,
Alt Örnek ()

Dize Olarak Dim FindS

Karartma Aralığı Aralık Olarak

FindS = InputBox ("Aramak istediğiniz değeri girin")

Sayfalarla ("Sayfa1"). Aralık ("A: A")

  • Örnek, sub'a verilen fonksiyon adıdır.
  • Bul, girmek istediğimiz kullanıcının aramasını istediğimiz dizedir.
  • Rng, aralık için aldığımız değişkendir.
  • Şimdi kullanıcıdan aşağıdaki ekran görüntüsüne benzeyen değeri girmesini istiyoruz,

  • Şimdi modülde bul fonksiyonumuzu tanımlayacağız.

  • Fonksiyon, kullanıcı tarafından verilen aralıkta girilen değeri bulur.
  • Şimdi aşağıdaki argümanlarla fonksiyonu kapatıyoruz.

  • Şimdi kodumuzu çalıştırırsak, önce kullanıcıdan bir değer istemi ister.

  • Kod tamamlandığında, hücreyi verilerin bulunduğu yere döndürür.

Örnek 2

Yukarıdaki örnekte, dört benzersiz ad vardı, ancak aşağıdaki verileri göz önünde bulundurmak gibi, verilerde birden fazla ad varsa,

Yukarıdaki verilerde Aran isminin iki kez tekrarlandığını görüyoruz. Excel'in Aran adını bulması gerekiyorsa, onu A2 hücresinde bulacak ve duracaktır, ancak A6 hücresindeki A2'ye benzer başka bir değer vardır. Bu değer nasıl elde edilir? İşte yardımda Bul (Ne, Sonra) sözdizimi geliyor.

Hücreyi tanımladıktan sonra, referanstan sonra verileri aramak istiyoruz.

Yukarıdaki veriler için kodu yazalım.

  • Kodu VBA'da yazabilmek için her zaman seçeneklerden geliştirici sekmesini etkinleştirmeyi ve ardından şeridi excel'de özelleştirmeyi unutmayın.
  • VBA'da kodları yazdığımız bir modül olan Microsoft excel nesnelerini alıyoruz.

  • Daha önce sayfa 1 üzerinde çalışıyorduk, şimdi sayfa 2'de çalışıyoruz, bu nedenle başka bir modül için sayfa 2'yi seçin ve boş bir sayfa görünür.

  • Şimdi fonksiyonu önce SUB Sample2 () olarak tanımlayarak kodu yazmaya başlayın ve enter tuşuna basın.

  • Şimdi fonksiyonumuzu tanımladık, değişkenlerimizi tanımlayan ana kısma girmeye başlayacağız.

  • Find değişkeninin neye sahip olması gerektiğini tanımlayın,

  • Bu örnekte 2. sayfa olan üzerinde çalıştığımız sayfaları seçin,

  • Şimdi kullanıcının A2 hücresinden sonra girdiği metni bulacağız, bu yüzden bulma fonksiyonumuzu aşağıdaki gibi tanımlıyoruz,

  • Şimdi ile ve if koşullarını bitirerek kodu kapatıyoruz.

Yukarıdaki kodun yaptığı şey, A2 hücresinden sonraki dizeyi aramak ve bulunduğu her yerde hücreyi döndürmektir.

Hatırlanacak şeyler

  1. Öncelikle, VBA'yı kullanmak için geliştirici sekmesini etkinleştirmemiz gerekiyor.
  2. Bulmamız gereken spesifik değer nedir?
  3. Değer bulunmazsa, işlevin nesnesi sıfıra ayarlanır.