Excel VBA ile DÜŞEYARA (VLOOKUP) Kullanımı

Excel VBA ile DÜŞEYARA (VLOOKUP) Kullanımı: Adım Adım Rehber ve Örnekler
DÜŞEYARA (VLOOKUP)

1. Örnek Veri Tablosu

Aşağıdaki tabloda ürün bilgileri var. DÜŞEYARA ile bu tablo üzerinde arama yapacağız.

# A (Ürün Kodu) B (Ürün Adı) C (Kategori) D (Fiyat)
1 Ürün Kodu Ürün Adı Kategori Fiyat
2 PR001 Laptop Bilgisayar 15.000
3 PR002 Mouse Aksesuar 450
4 PR003 Klavye Aksesuar 750
5 PR004 Monitör Bilgisayar 8.500
6 PR005 USB Bellek Aksesuar 250
7 PR006 Yazıcı Ofis 4.200
Örnek tablo (A1:D7) - Ürün bilgileri

Tablo Bilgisi

6 ürün var. A sütununda ürün kodları, B'de ürün adları. DÜŞEYARA ile kodlara göre arama yapacağız.

2. Yöntem 1: Temel DÜŞEYARA Kullanımı

VLookup ile tablodaki bir değeri arayıp karşılığını buluruz. Örnek: "PR002" kodlu ürünün adını bulalım.

Sub DUSEYARA_Temel()
    Dim sonuc As Variant
    sonuc = WorksheetFunction.VLookup("PR002", Range("A2:D7"), 2, False)
    MsgBox "Ürün adı: " & sonuc
End Sub

Kod Açıklaması

  • Dim sonuc As Variant → Sonuç değişkeni
  • VLookup("PR002", Range("A2:D7"), 2, False) → "PR002" ara, tablo A2:D7, 2. sütundan sonuç al, tam eşleşme
  • MsgBox → Sonucu gösterir

Tablo: 🟩 Bulunan hücre:

# A B C D
2 PR001 Laptop Bilgisayar 15.000
3 🟩 PR002 🟩 Mouse Aksesuar 450
4 PR003 Klavye Aksesuar 750
5 PR004 Monitör Bilgisayar 8.500
6 PR005 USB Bellek Aksesuar 250
7 PR006 Yazıcı Ofis 4.200
🟩 PR002 kodu arandı → Mouse bulundu

📌 Sonuç: VLookup ile "PR002" kodu arandı ve karşılığında "Mouse" bulundu.

3. Yöntem 2: Hata Yönetimli DÜŞEYARA

Aranan ürün bulunamazsa hata oluşur. IsError ile bunu kontrol edip kullanıcıya bilgi verelim.

Sub DUSEYARA_Hata()
    Dim sonuc As Variant
    sonuc = WorksheetFunction.VLookup("PR999", Range("A2:D7"), 2, False)
    If IsError(sonuc) Then
        MsgBox "Ürün bulunamadı!"
    Else
        MsgBox "Ürün adı: " & sonuc
    End If
End Sub

Kod Açıklaması

  • VLookup("PR999", ...) → PR999 diye ürün yok, hata oluşur
  • IsError(sonuc) → Sonuçta hata var mı kontrol eder
  • If IsError(sonuc) Then → Hata varsa "Ürün bulunamadı!" yazdırır

Tablo: 🔵 Aranan ürün yok:

# A B C D
2 PR001 Laptop Bilgisayar 15.000
3 PR002 Mouse Aksesuar 450
4 PR003 Klavye Aksesuar 750
5 PR004 Monitör Bilgisayar 8.500
6 PR005 USB Bellek Aksesuar 250
7 PR006 Yazıcı Ofis 4.200
PR999 arandı → BULUNAMADI
🔵 PR999 kodu tabloda yok → Hata mesajı gösterildi

📌 Sonuç: IsError ile hata yakalandı ve kullanıcıya "Ürün bulunamadı!" mesajı gösterildi.

4. VBA Makroları için Ön Hazırlık

1. Geliştirici Sekmesini Aktifleştirin

Excel'de VBA kodlarını yazabilmek için önce Geliştirici sekmesini aktif etmelisiniz. Detaylı bilgi için tıklayın.

VBA - Geliştirici sekmesi
⚙️ Geliştirici sekmesini aktifleştirme

3. Modül Ekleyin

Kodlarınızı yazmak için bir Modül eklemelisiniz. Makro yazma rehberi için tıklayın.

VBA - Modül ekleme
📝 Modül ekleme

2. Visual Basic Düzenleyici'yi Açın

Alt + F11 (Windows) veya Option + F11 (Mac) ile hızlıca açabilirsiniz.

Visual Basic Düzenleyici'yi Açma
📝 Visual Basic Düzenleyici'yi Açma

4. Kodu Çalıştırın

Yazdığınız kodu çalıştırmak için F5 tuşuna basın veya Çalıştır butonuna tıklayın. VBA makro nedir? öğrenmek için tıklayın.

F5

▶️ Makroyu çalıştır

📋 Makro çalıştırma

5. Sıkça Sorulan Sorular

01 VBA'da DÜŞEYARA nasıl kullanılır?

WorksheetFunction.VLookup(arama, tablo, sutun, False) ile kullanılır.

02 DÜŞEYARA'da hata nasıl yönetilir?

If IsError(sonuc) Then ile hata kontrolü yapılır.

03 4. parametre False ne işe yarar?

Tam eşleşme yapar. True yaklaşık eşleşme içindir.

04 Mac'te VBA DÜŞEYARA çalışır mı?

Evet, Mac'te de aynı kodlar çalışır.

05 Dinamik arama nasıl yapılır?

Arama değerini hücreden alabilirsiniz: Range("B1").Value.

06 DÜŞEYARA ve YATAYARA arasındaki fark nedir?

DÜŞEYARA dikey (sütun), YATAYARA yatay (satır) arama yapar.

💡 İpucu: Makroları çalıştırmadan önce dosyanızı yedeklemeyi unutmayın. Ctrl+S ile kaydedin.
🤖 Akıllı Arama Asistanı
💬 Merhaba! Size nasıl yardımcı olabilirim?
Excel Asistanı
👋 Merhaba! Excel ile ilgili ne öğrenmek istersin? Örn: DÜŞEYARA nasıl kullanılır?
DÜŞEYARA Pivot Tablo Gantt Şeması