Makro Veya Kod Nasıl Oluştururum

1 2 3
19/10/2020, 12:38

feraz

Diğer açtığınız konuyu buraya taşıdım örnek dosyayı.10-Ekim adındaki dosya soru dosyası.
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
19/10/2020, 12:51

HORZUM

FERAZ BEY SAĞ OLUN. Target.Offset(, 1).Value = Empty 1 5 OLARAK DÜZELTTİM ŞİMDİ OLDU. SİZLERE KOLAY GELSİN
19/10/2020, 13:11

feraz

1 2 3