DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Option Explicit
Sub En_Yakini_Bul_Aktar()
Dim Dizi As Object, Veri As Variant, Son As Long
Dim Bul As Range, Formul As String, Satir As Long
Set Dizi = CreateObject("Scripting.Dictionary")
With Sheets("Data")
.Range("F5:F" & .Rows.Count).ClearContents
Son = .Cells(.Rows.Count, "C").End(3).Row
For Each Veri In .Range("C5:C" & Son)
Dizi.Item(Veri.Value) = 1
Next
For Each Veri In Dizi.Keys
Set Bul = Sheets("Tutar").Range("C:C").Find(Veri, , , xlWhole)
If Not Bul Is Nothing Then
Formul = "=MATCH(MIN(IF(C5:C1048576=""" & Veri & """,ABS(" & Replace(Bul.Offset(, 2).Value, ",", ".") & _
"-E5:E1048576))),IF(C5:C1048576=""" & Veri & """,ABS(" & Replace(Bul.Offset(, 2).Value, ",", ".") & "-E5:E1048576)),0)"
Formul = Replace(Formul, 1048576, Son)
On Error Resume Next
Satir = 0
Satir = Evaluate(Formul)
On Error GoTo 0
If Satir > 0 Then
.Cells(Satir + 4, "F") = Bul.Offset(, 2).Value
End If
End If
Next
End With
Set Bul = Nothing
Set Dizi = Nothing
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub