• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

makro ile Vlookup

Katılım
9 Temmuz 2008
Mesajlar
277
Excel Vers. ve Dili
2007
Kod:
a = WorksheetFunction.VLookup("HALKB", Sheets("bb").Range("D79:F95"), 3, False)
Sheets("aa").Range("b1").Value = a

Merhaba ben HALKB 'yi bb sayfasında D79 ile F95 arasında aratıp 3 değeri aldırmak istiyorum ama çalıştırınca hata veriyor.

Yardımlarınız için...
 
Merhaba,

VBA yardımından Range.Find ı aratıp onu inceleyiniz.
 
Merhaba,

Kod:
Sub Button1_Click()
 
    Dim c As Range
 
    Set c = Worksheets("aa").Range("a:a").Find(Sheets("bb").Range("A1"), LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        Sheets("bb").Range("B1") = Sheets("aa").Cells(c.Row, "B")
    Else
        Sheets("bb").Range("B1") = "Aradım, Bulamadım"
    End If
 
End Sub

VBA nın yardımından Find komutuna verdiği kodlar aşağıdadır.

Kod:
With Worksheets(1).Range("a1:a500")
    Set c = .Find(2, LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            ' Her aranan değer bulunduğunda yapılacak işler yazılır
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With

Bu kodlarda 1 numaralı sayfanın A1:A500 aralığında 2 değeri aranıyor. Buldukça aramaya devam ediyor. Ta ki ilk bulduğu değer erişene kadar.

Excelde klasik arama Ctrl+F nin makro kodlarıdır.

VLookup örneği ise :

Kod:
Sub Button1_Click()
    a = WorksheetFunction.VLookup(Sheets("bb").Range("a1"), Sheets("aa").Range("a1:B2"), 2, False)
    Sheets("bb").Range("b1").Value = a
End Sub
 
Teşekkürler

Bugün bir kaç şey daha öğrendim saolun:bravo:
 
Sorun...

Selam arkadaşlar,

Kodu denedim hata veriyor.
Sebebini söyleyebilecek olursa sevinirim.

Şimdiden teşekkürler
 

Ekli dosyalar

Merhaba,
("Sayfa2").Range("A1") Boş olduğu için hata veriyor. A1 hücresi sayfa 3 de bulunan değerlerden birini içermeli yada hata kontrolu yapılmalıdır.
 
Geri
Üst