Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

Vlookup, Excel içinde önemli bir işlevdir ve veri işlemenin hayati bir parçası haline gelmiştir. Genellikle eksiksiz bir veritabanıyla ilişkilendirebileceğiniz bazı işlevler sağlar.

Peki ya bu işlevi otomatikleştirmek isterseniz? Evet, özellikle Excel'in yerel otomasyon dili VBA'yı nasıl kullanacağınızı biliyorsanız bu mümkündür. Excel VBA'da vlookup işlevini şu şekilde otomatikleştirebilirsiniz.

Vlookup Sözdizimi

Vlookup işlevinin sözdizimi oldukça basittir, ancak Excel VBA'da otomatikleştirirken bile odaklanmanız gereken dört yönü vardır.

=vlookup (aranan_değer, aranan_dizi, sütun_index, tam_eşleşme/kısmi_eşleşme)

İşlevin argümanları şu anlama gelir:

  • aranan_değer: Bu, arama dizisinden aramak istediğiniz birincil değerdir.
  • arama_dizisi: Bu, aranan_değerin referans olarak kullanacağı kaynak veridir.
  • sütun_dizini: Değerin döndürüleceği sütun.
  • tam_eşleşme/kısmi_eşleşme: Eşleme türünü belirlemek için 0 veya 1 kullanın.

Veri Hazırlama

Bu veri kümesinin iki bölümü vardır: bir arama tablosu ve hedef veri noktaları.

Arama tablosu, Alt Kategori ve Ürün Adı alanlarını dolduran verilerle birlikte üç sütundan oluşur:

Hedef tablo, alt kategori veya ürün adı verisi içermeyen eşleşen sütunlara sahiptir. Sipariş Kimliği sütunundaki değerlerin arama tablosundaki aynı sütunda da bulunduğunu unutmayın:

Vlookup'ı Doğrudan Bir Excel Elektronik Tablosunda Kullanma

B ve C hedef sütunlarını doldurmak için şunları yapabilirsiniz: Excel'in vlookup işlevini kullanın.

Hücrede B2, aşağıdaki formülü girin:

=DÜŞEYARA($A2, $F$3:$H$17, 2, 0)

Aynı şekilde hücrede C2, şu formülü girin:

=DÜŞEYARA($A2, $F$3:$H$17, 3, 0)

Formülü B2 hücresinden sütunun sonuna, B17'ye kadar sürükleyebilirsiniz. Bu işlemi C sütunu için de tekrarlayın. Sonraki her giriş için değerler her iki sütunda da otomatik olarak güncellenecektir.

vlookup işlevine ilettiğiniz değerler şunlardır:

  • A2: Aranan değer bu hücrededir.
  • F3:H17: Bu, arama aralığından oluşur.
  • 2/3: Değerin alınacağı referans sütunları.
  • 0: Tam eşleşmeyi belirtir.

Excel VBA'nın Vlookup İşlevi

İster doğrudan Excel'de ister VBA aracılığıyla kullanın, vlookup işlevinin birçok benzerliği vardır. İster veri satırlarıyla uğraşan bir veri analisti, ister düzenli olarak yeni ürünlerle ilgilenen bir envanter yöneticisi olun, vlookup'ı kullanarak fayda sağlayabilirsiniz.

Dinamik bir arama aralığıyla çalışırken, formüllerin Excel içinde tekrar tekrar uygulanmasını önlemek için formüllerinizi otomatikleştirmek her zaman en iyisidir. Vlookup işlevinizi VBA'da otomatikleştirerek, tek bir tıklama ile çok sütunlu hesaplamalar yapabilirsiniz.

1. Gerekli Kurulumu Gerçekleştirin

Kodlama düzenleyicisini açarak başlayın (basın Alt + F11 veya şuraya gidin: Geliştirici sekmesinde) yeni bir Excel çalışma kitabına girin ve kodunuzu yazmaya başlamak için bir modül ekleyin. Kod düzenleyicide, bir alt rutin oluşturmak için kodlama penceresinin en üstüne aşağıdaki satırları ekleyin:

 Alt vlookup_fn1()End Sub

Alt rutin, VBA kodunuz için bir kaptır ve başarılı bir şekilde çalıştırmak için kritik öneme sahiptir. bir alternatif bir VBA kullanıcı formu oluşturun kullanıcı arayüzünüzü daha etkileşimli hale getirmek için.

2. Değişkenlerinizi Bildirin ve Referans Aralıklarınızı Oluşturun

Öncelikle, kullanarak değişken veri türlerini bildirmeniz gerekir. loş ifade:

 i'yi tamsayı olarak dim, son satır uzun

Ardından, bir son satır arama aralığınızdaki son doldurulan satırın değerini depolamak için değişken. Lastrow işlevi şunu kullanır: son (xldown) belirtilen aralık içindeki son satır referansını hesaplamak için işlev.

Bu durumda, lastrow değişkeni, arama aralığının son doldurulan satır değerini saklar,17.

 lastrow = Sheets("Sayfa2").Range("F3").End (xlDown).Row

Yukarıdaki örnekte, hedef tablo A2:C17, kaynak tablo uzanırken F2:H17. Vlookup formülü, A sütununda saklanan her bir değer arasında dolaşacak, bunu kaynak tabloda arayacak ve eşleşen girişleri B ve C sütunlarına yapıştıracaktır.

Ancak, döngüye geçmeden önce, aralık değerlerini yeni bir değişken () içinde saklamanız gerekir.benim_aralığım), aşağıdaki gibi:

 my_range = Sheets("Sayfa2").Range("F3:H" & son satır)

Başlangıç ​​hücre referansını açıkça tanımlamanız gerekir (F3) ve son sütun referansı (H). VBA, arama dizisini tamamlamak için satır değerini otomatik olarak ekler.

3. Her Arama Değerinde Geçiş Yapacak Bir Döngü Yazın

Döngüyü yazmadan önce başlangıç ​​satır değerini tanımlayın, 2. Dinamik öğelerle uğraşırken döngünüz için bir başlangıç ​​değeri tanımlamak çok önemlidir. Hedef tabloda, satır 2, verilerin ilk satırıdır. Verileriniz farklı bir satırda başlıyorsa bu değeri değiştirin.

 ben = 2

kullanabilirsiniz yaparken 2. satırdan başlayıp 17. satırda biten her satırı işlemek için döngü. Kodun geri kalanı gibi, bu yön de dinamiktir; döngü, koşul yanlış olana kadar çalışır. Geçerli satırın ilk hücresinde boş olmayan bir değer olup olmadığını kontrol etmek için koşulu kullanın.

 Do While len (Sheets("Sheet2").Cells (i, 1).value) <> 0

Döngü içinde, hücreleri doldurmak için VLookup işlevini çağırabilirsiniz:

 Sayfalar("Sayfa2").Hücreler (i, 2).Değer = _ Uygulama. Çalışma SayfasıFonksiyonu. VLookup (Sayfalar("Sayfa2") _ .Hücreler (i, 1).Değer, benim_aralığım, 2, Yanlış) Sayfalar("Sayfa2").Hücreler (i, 3).Değer = _ Uygulama. Çalışma SayfasıFonksiyonu. VLookup (Sayfalar("Sayfa2") _ .Hücreler (i, 1).Değer, benim_aralığım, 3, Yanlış)

Bu ifadeler, sırasıyla 2. ve 3. sütunlardaki geçerli satırdaki hücrelerin değerini ayarlar. onlar kullanır Çalışma SayfasıFonksiyonu çağırmak için nesne VLookup işlevi, aramak için 1. sütundan karşılık gelen değeri iletir. Ayrıca daha önce tanımladığınız aralığı ve son değeri almak için ilgili sütunun dizinini de iletirler.

Vlookup kodu hazır, ancak yine de döngüde her seferinde satır değişkenini artırmanız gerekiyor:

 ben = ben + 1

Döngü her çalıştığında, değerini artırır. Ben 1 tarafından Unutmayın, başlangıç ​​satırı değeri 2'dir ve döngü her çalıştığında artış gerçekleşir. Kullan döngü döngünün kod bloğunun sonunu ayarlamak için anahtar kelime.

Kodun tamamını çalıştırdığınızda, kaynak tablodaki değerlere göre sonuçları her iki sütunda da dolduracaktır.

İşte referans için kodun tamamı:

 Alt vlookup_fn1() Dim i As Integer lastrow = Sheets("Sheet2").Range("F3").End (xlDown).Row my_range = Sheets("Sheet2").Range("F3:H" & lastrow) i = 2 Do While Len (Sayfalar("Sayfa2").Cells (i, 1).Value) <> 0 Hata Durumunda Sonraki Sayfaları Sürdür("Sayfa2").Cells (i, 2).Value = _ Başvuru. Çalışma SayfasıFonksiyonu. VLookup (Sayfalar("Sayfa2") _ .Hücreler (i, 1).Değer, benim_aralığım, 2, Yanlış) Sayfalar("Sayfa2").Hücreler (i, 3).Değer = _ Uygulama. Çalışma SayfasıFonksiyonu. VLookup (Sayfalar("Sayfa2") _ .Cells (i, 1).Value, my_range, 3, False) i = i + 1 LoopEnd Sub

4. Kodu Çalıştırmak için Bir Düğme Oluşturun

Kodun kullanımdan kaldırılmasıyla, Excel çalışma kitabınızda tek bir tıklamayla çalıştırmak için bir düğme oluşturabilirsiniz. Tercih ettiğiniz şekli boş bir Excel sayfasına yerleştirin, üzerine sağ tıklayın ve Makro Ata seçenek.

İletişim kutusunda, alt rutininizin adını seçin ve üzerine tıklayın. TAMAM.

Kodunuzu çalıştırmak istediğinizde, verilerin hemen nasıl doldurulduğunu görmek için düğmeyi tıklayın.

Arama İşlevlerini Otomatikleştirmek için Excel VBA'yı Kullanma

Excel VBA, MS Excel'in farklı yönlerinde otomasyonu kolaylaştırmak için iyi ayarlanmış esnek bir dildir. MS Excel VBA'da, Excel işlevlerinin otomatikleştirilmesinden ayrıntılı özet tabloların otomatik olarak oluşturulmasına kadar pek çok seçenek mevcuttur.

Farklı Excel segmentleriyle çalışırken, hayatınızı daha kolay ve daha verimli hale getirmek için çeşitli seçenekleri deneyebilirsiniz.