• DİKKAT

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

Makro ile Düşey ara

Katılım
6 Eylül 2007
Mesajlar
657
Excel Vers. ve Dili
excel 2016 32 Bit ve Excel 2020 32 Bit Türkçe ve İngilizce
Merhaba üstatlar Ekli dosyada Makro ile düşey ara işlemi gerçekleştiriyorum, işlemi yapıyor ancak bir hata veriyor kodlardaki hata nedir acaba?
 

Ekli dosyalar

'Deneyiniz.

Kod:
Sub DüşeyAra()
'Sayfa1 F Hücresine; Sayfa1 A hücresi değerini Sayfa2 Tablo dizisinde arar ve 4. indisi yazar.

For i = 4 To 10
If IsError(Application.VLookup(Sayfa1.Cells(i, "A"), Sayfa2.Range("A2:D5"), 4, False)) Then
Sayfa1.Cells(i, "F") = "" 'Yoksa boş geçer. Yada tırnak işaretleri arasına yazılanı yazar.
Else
Sayfa1.Cells(i, "F") = Application.VLookup(Sayfa1.Cells(i, "A"), Sayfa2.Range("A2:D5"), 4, False)
End If
Next i

End Sub
 
Son düzenleme:
Sn RBozkurt çok teşekkürler gayet iyi olmuş ancak şöyle bir durum var 4 To 10 arasında Düşeyaramanın yapıldığı tabloda ismi olmayanların karşısına "#YOK" ibaresini koyuyor. bunu engellemenin yolu varmı?
 
Sn RBozkurt çok teşekkürler gayet iyi olmuş ancak şöyle bir durum var 4 To 10 arasında Düşeyaramanın yapıldığı tabloda ismi olmayanların karşısına "#YOK" ibaresini koyuyor. bunu engellemenin yolu varmı?

2 numaralı mesajdaki kodları güncelledim.
Deneyiniz.
 
Çok teşekkürler :)
 
Merhaba.
Alternatif kod.
Kod:
Sub Test()
    Dim Say  As Long
    Say = Cells(Rows.Count, "A").End(xlUp).Row
    With Range("F4:F" & Say)
        .Formula = "=vlookup(A4,'Sayfa2'!A:D,4,0)"
        .SpecialCells(xlCellTypeFormulas, 16) = ""
        .Value = Range("F4:F" & Say).Value
    End With
End Sub
 
Kod:
Range("F4:F" & Say)
alanında bulunan formüllerin hata sonucu (#YOK ve benzeri) döndüren hücreler.
Kod:
Range("F4:F" & Say).SpecialCells(xlCellTypeFormulas, 16) = ""
Yazınca bu aralıktaki hatalı sonuç döndüren tüm hücrelerin içeriği silinmiş olur.
 
Geri
Üst