Diğer konu mükerrer olduğu için silinmiştir.
E1 sayfasında E1 den itibaren girilen verilere göre arama yapılıp veriler gelir.
Çözümlerde eklerde.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim bul As Range
With ThisWorkbook.Sheets("T1")
If Target.Column = 5 And Target.Row >= 3 Then
If Target.Cells.Count = 1 Then
Set bul = .Range("E:E").Find(Target.Value, , , 1)
Target.Offset(, 1).Value = Empty
If Not bul Is Nothing Then Target.Offset(, 1).Value = bul.Offset(, 1).Value
End If
End If
End With
Set bul = Nothing
End Sub
Buda dictionary yöntemi ile.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dict As Object, veri(), i As Long
Set dict = CreateObject("Scripting.dictionary")
dict.comparemode = 1 '1 kücük büyük harf icin
With ThisWorkbook.Sheets("T1")
veri = .Range("E1:F" & .Range("E" & Rows.Count).End(3).Row).Value
If Target.Column = 5 And Target.Row >= 3 Then
If Target.Cells.Count = 1 Then
For i = LBound(veri) To UBound(veri)
If Not dict.exists(veri(i, 1)) Then dict.Add veri(i, 1), veri(i, 2)
Next
Target.Offset(0, 1).Value = dict(Target.Value)
End If
End If
End With
Set dict = Nothing: Erase veri
End Sub