Üç Sayfadaki Verileri Karşılaştırmak

Katılım
14 Kasım 2005
Mesajlar
31
Altın Üyelik Bitiş Tarihi
23-12-2021
Üç sayfadan oluşan bir çalışma kitabım var. Birinci sayfadaki isimleri ikinci ve üçüncü sayfadaki isimler ile karşılaştırıp aynı olan isimleri yeni bir sayfaya aktarılmasını istiyorum. Şimdiden teşekkür ederim.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,608
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Eşleşme olduğunda hangi başlıklar 3, sayfaya aktarılacak?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,608
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
Option Explicit

Sub AKTAR()
    Dim S1 As Worksheet, S2 As Worksheet
    Dim Satir As Long, Son As Long, Say As Long
    Dim Sayfa As Worksheet, Veri As Object
    Dim Dizi As Variant, X As Long
    
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
    End With
    
    On Error Resume Next
    Application.DisplayAlerts = False
    Sheets("Rapor").Delete
    Application.DisplayAlerts = True
    On Error GoTo 0
    
    Set S1 = Sheets("Anket")
    
    Son = S1.Cells(Rows.Count, 1).End(3).Row
    
    Set Veri = CreateObject("Scripting.Dictionary")
    
    Dizi = S1.Range("A2:A" & Son).Value
    
    With CreateObject("Scripting.Dictionary")
        For X = 1 To UBound(Dizi, 1)
            .Item(Dizi(X, 1)) = Dizi(X, 1)
        Next
        
        For Each Sayfa In ThisWorkbook.Worksheets
            If Sayfa.Name <> "Anket" And Sayfa.Name <> "Rapor" Then
                Son = Sayfa.Cells(Sayfa.Rows.Count, "Q").End(3).Row
                Dizi = Sayfa.Range("Q4:Q" & Son).Value
        
                For X = 1 To UBound(Dizi, 1)
                    If .Exists(Dizi(X, 1)) Then
                        If Not Veri.Exists(Dizi(X, 1)) Then
                            Say = Say + 1
                            Veri.Add Dizi(X, 1), Say
                        End If
                    End If
                Next
            End If
        Next
    End With
    
    If Say > 0 Then
        Sheets.Add , Sheets(Sheets.Count)
        Set S2 = ActiveSheet
        S2.Name = "Rapor"
        
        S2.Range("A1") = "EŞLEŞEN AD-SOYADLAR"
        S2.Range("A1").Font.Bold = True
        Satir = 2
        
        S2.Range("A2").Resize(Say) = Application.Transpose(Veri.Keys)
        S2.Range("A:A").EntireColumn.AutoFit
    End If
    
    With Application
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
    End With

    If Say > 0 Then
        MsgBox "İşlemınız tamamlanmıştır." & vbCrLf & vbCrLf & Say & " adet eşleşen kayıt bulunmuştur.", vbInformation
    Else
        MsgBox "Eşleşen kayıt bulunamadı!", vbExclamation
    End If
End Sub
 
Üst