Koddaki bozuk Tr karakteri düzeltin sayfa adındaki.
ilk mesajınızdaki dosyaya göre yapıldı ve son mesajınızdaki gibi ismin uzunluğu ve tc nin ilk 2 ve son 2 olayı kriter alındı.
Bence yine karışıklık olur Soyad kritere girmediği için.BİRLEŞTİRME sayfasına ismin yanına soyadda ekleyip yıldızlasaydınız hata olmayabilirdi sanıyorum.
PHP Kod:
Dim dic As Object
Dim son As Long, i As Long
Dim Tc As String, AdSoYad As String, TcYildiz As String, AdYildiz As String
Dim AdTcTam As String
Dim sh_Birlestirme As Worksheet, sh_GenelListe As Worksheet
Set sh_Birlestirme = ThisWorkbook.Worksheets("BÝRLEÞTÝRME")
Set sh_GenelListe = ThisWorkbook.Worksheets("GENEL LÝSTE")
Set dic = CreateObject("Scripting.Dictionary")
sh_Birlestirme.Range("C2:D" & Rows.Count).ClearContents
With sh_GenelListe
son = .Cells(Rows.Count, 1).End(3).Row
If son < 2 Then GoTo sonSub
For i = 2 To son
Tc = .Cells(i, 2).Value
AdSoYad = .Cells(i, 3).Value
TcYildiz = Left(Tc, 2) & "*******" & Right(Tc, 2)
AdYildiz = Left(Split(AdSoYad, " ")(0), 2) & Application.Rept("*", Len(Split(AdSoYad, " ")(0)) - 2)
dic(TcYildiz & "||" & AdYildiz) = Array(Tc, AdSoYad)
Next
End With
i = 2
With sh_Birlestirme
son = .Cells(Rows.Count, 1).End(3).Row
If son < 2 Then GoTo sonSub
For i = 2 To son
AdTcTam = .Cells(i, "A").Value & "||" & .Cells(i, "B").Value
.Cells(i, "C").Value = dic(AdTcTam)(0)
.Cells(i, "D").Value = dic(AdTcTam)(1)
Next
End With
sonSub:
Set dic = Nothing: Set sh_Birlestirme = Nothing: Set sh_GenelListe = Nothing