İçindekiler
Bazı belirli değerleri veya öğeleri aramak veya görmek açısından MS Excel çeşitli işlevler sağlar. VLOOKUP Herhangi bir veri kümesinden istenen verileri aramamıza yardımcı olur. Tam bir eşleşme mi yoksa yaklaşık bir eşleşme mi arayacağımızı belirtmemize izin verir. Bu işlevi Excel formülünde kullanmanın yanı sıra, bunu VBA kodunda da kullanabiliriz. Bu makalede, bunu nasıl kullanabileceğimizi göreceğiz VLOOKUP işlevi VBA'da.
Alıştırma Çalışma Kitabını İndirin
VBA.xlsm'de DÜŞEYARAVBA'da DÜŞEYARA Kullanmanın 4 Yolu
1. VBA'da DÜŞEYARA Kullanarak Verileri Manuel Olarak Arama
ID, Name, Department, Joining Date ve Maaş bilgilerini içeren bir çalışan bilgisi veri kümemiz olsun. Şimdi görevimiz ID'lerini kullanarak çalışan bilgilerini manuel olarak bulmaktır. Bu bölüm için, ID'lerini kullanarak sadece çalışanın maaşını bulacağız.
Adım 1: Seçiniz Visual Basic altında Geliştirici sekmesi (Kısayol Alt + F11 )
Adım 2: Sonra bir pencere açılacak. Seçin Modül altında seçenek Ekleme düğme
Adım 3: Şimdi VBA konsoluna aşağıdaki kodu yazın ve Koşmak düğmesi (Kısayol F5 )
Kod:
Sub vlookup_function_1() Dim Employee_id As Long Dim salary As Long Employee_id = 1144 Set myerange = Range("B4:F11") salary = Application.WorksheetFunction.VLookup(Employee_id, myerange, 5, False) MsgBox "Employee ID:" & Employee_id & " Salary " & "$" & salary End Sub
Adım 4: Şimdi bir mesaj popu gelecek ve bilgileri gösterecektir
Daha fazlasını okuyun: Excel'de Metin Aramak için DÜŞEYARA (4 Kolay Yol)
2. VBA'da DÜŞEYARA Kullanarak Girdi ile Veri Arama
Şimdi giriş ile tablolardan veya aralıklardan nasıl veri arayabileceğimizi veya çıkarabileceğimizi görelim. Resimdeki gibi, girilen id'nin adını çalışan bilgileri tablosundan bulacağız.
Adım 1: Önce 1. Adımdan 2. Adıma kadar aynı adımları izleyerek VBA konsolunu açın
Adım 2: Şimdi VBA penceresine aşağıdaki kodu girin
Kod:
Sub vlookup_function_2() Set myerange = Range("B4:F11") Set ID = Range("D13") Set Name = Range("D14") Name.Value = Application.WorksheetFunction.VLookup(ID, myerange, 2, False) End Sub
Adım 3: Şimdi hücreye herhangi bir kimlik girin D13 ve kodu çalıştırın
Adım 4: Bu İsim kimliğe karşı kaydedilen gösterilecektir
Daha fazlasını okuyun: Excel'de DÜŞEYARA ile 10 En İyi Uygulama
Benzer Okumalar
- DÜŞEYARA Çalışmıyor (8 Neden & Çözümler)
- INDEX MATCH vs VLOOKUP Fonksiyonu (9 Örnek)
- Excel'de Birden Çok Ölçütle DÜŞEYARA Kullanma (6 Yöntem + Alternatifler)
- Sütundaki Son Değeri Bulmak için Excel DÜŞEYARA (Alternatiflerle)
- Birden Fazla Değeri Dikey Olarak Döndürmek için Excel DÜŞEYARA
3. VBA'da DÜŞEYARA Kullanarak Giriş Kutusu ile Bilgi Bulma
VBA'nın giriş kutusunu kullanarak verileri nasıl arayabileceğimizi görelim. Arama yapmak için VLOOKUP Yine, veri kümesi aynı olacak, ancak arama yaklaşımı farklı olacaktır. Burada görevimiz, ID ve Departman girerek çalışanın maaşını bulmaktır.
Adım 1: Önce 1. Adımdan 2. Adıma kadar aynı adımları izleyerek VBA penceresini açın
Adım 2: Şimdi VBA konsoluna aşağıdaki kodu girin ve Koşmak o
Kod:
Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i End Sub
Adım 3: Bu, ilk sütunda ID ve Departman ile birleştirilmiş bir dize yazdıracaktır
Adım 4: Şimdi tekrar VBA konsoluna gidin ve kodun tamamını girin ve tekrar çalıştırın
Kod:
Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i Dim ID As Long Dim department As String Dim lookup_val As String Dim salary As Long ID = InputBox("Çalışanın ID'sini girin") department = InputBox("Çalışanın departmanını girin") lookup_val = ID & "_" & department OnError GoTo Message check: salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("Çalışanın maaşı $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Çalışan verileri mevcut değil") End If End Sub
Kod Açıklaması
- İlk olarak, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Bu kodu kullanarak ID ve Departman değerlerini A sütununda birleştirerek saklıyoruz.
- lookup_val = ID & "_" & departman bu, arama değerinin ID ve departman olacağını tanımlamaktadır.
- salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) Burada eşleşen çalışanın maaşını şu isimli bir değişkene kaydediyoruz maaş
- Err. Numarası = 1004 İse bu koşul kontrolüdür. hata numarasının 1004 olup olmadığını kontrol ediyoruz. Excel VBA'da 1004 kodu, aranan değerin bulunamadığı, silinmediği veya kaldırılmadığı anlamına gelir.
Adım 5: Şimdi bu resimdeki gibi bir açılır pencere olacak. Enter KIMLIK ve Departman sıralı olarak
Adım 6: Tuşuna bastıktan sonra Tamam. düğmesine basıldığında nihai çıktı gösterilecektir
Adım 7: Yanlış girerseniz KIMLIK veya Departman, aşağıdaki mesajı gösterecektir
Daha fazlasını okuyun: Excel'de Birden Çok Koşulla DÜŞEYARA Nasıl Yapılır (2 Yöntem)
4. VBA'da DÜŞEYARA Kullanarak Düğme ile Bilgi Bulma
Şimdi, kodu manuel olarak çalıştırmak yerine bir düğme yardımıyla bilgileri nasıl bulabileceğimizi göreceğiz. Yine, veri kümesi yukarıdaki ile aynı olacaktır.
Adım 1: İlk olarak Ekleme seçeneği altında Geliştirici sekmesi
Adım 2: Daha sonra Düğme seçeneğinden Ekleme
Adım 3: Düğmeyi ihtiyacınıza göre yerleştirin ve düğmenin adını verin
Adım 4: Şimdi düğmeye sağ tıklayın ve Makro Atama
Adım 5: Şimdi yeni bir makro oluşturun ve adını vlookup_function_4
Adım 6: Aşağıdaki kodu VBA konsoluna yazın ve Koşmak kod
Kod:
Sub vlookup_function_4() Dim rng As Range, FinalResult As Variant, Table_Range As Range, LookupValue As Range Set rng = Sheets("Sheet4").Range("D15") Set Table_Range = Sheets("Sheet4").Range("B4:F11") Set LookupValue = Sheets("Sheet4").Range("D14") FinalResult = Application.WorksheetFunction.VLookup(LookupValue, Table_Range, 5, False) rng = FinalResult End Sub
Adım 6: Şimdi herhangi bir kimlik girin ve düğmesine basın
Daha fazlasını okuyun: Excel'de Başka Bir Çalışma Sayfasındaki Değerleri Bulmak için VBA DÜŞEYARA Kullanımı
Hatırlanması Gerekenler
Yaygın Hatalar | Gösterdiklerinde |
---|---|
1004 hata | VBA vlookup kodu lookup_value değerini bulamadığında, 1004 hatası verecektir. |
VLOOKUP İşlevi VBA'da Bulunamadı | Vlookup işlevi Excel VBA'da WorksheetFunction kullanılarak çağrılabilir. |
Hata İşleme | vlookup işlevindeki hata bir Goto deyimi bir hata döndürürse. |
Sonuç
Bunlar, aşağıdakileri kullanmanın bazı yollarıdır VLOOKUP Tüm yöntemleri ilgili örnekleriyle gösterdim, ancak başka birçok yineleme olabilir. Ayrıca kullanılan işlevlerin temellerini de tartıştım. Bunu başarmak için başka bir yönteminiz varsa, lütfen bizimle paylaşmaktan çekinmeyin.