Çözüldü İki Sütunu Karşılaştırma

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
593
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
Merhaba;
Ekteki örnekte A ve B sütununda yer alan isimleri Kırmızı renge boyamasını ve C sütununa aktarmasını istiyorum. A-B sütunundaki veri sayısı 5.000 adettir. Yardımcı olabilir misiniz. Teşekkürler.

x.JPG
 

Ekli dosyalar

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
593
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
@cems Hocam C Sütununa aynı olanları nasıl yazdırabilirim.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,460
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın Evren Gizlen 'in kodları ile


Kod:
Private Sub CommandButton1_Click()
Dim sat1 As Long, sat2 As Long, i As Long, sat3 As Long
Range("C:C").ClearContents
Application.ScreenUpdating = False
sat1 = Cells(Rows.Count, "A").End(xlUp).Row
sat2 = Cells(Rows.Count, "B").End(xlUp).Row
For i = 1 To sat2
    If WorksheetFunction.CountIf(Range("A1:A" & sat1), Cells(i, "B").Value) > 0 Then
        sat = sat + 1
        Cells(sat, "C").Value = Cells(i, "B").Value
    End If
Next i
Application.ScreenUpdating = True
MsgBox "İşlem Tamamlanmıştır." & vbLf & "evrengizlen@hotmail.com", _
    vbOKOnly + vbInformation, Application.UserName
End Sub
Dosyanız da ektedir .
Dosya vba nın çalışabilmesi için xlsm olarak farklı kaydedilmiştir
 

Ekli dosyalar

Son düzenleme:

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
593
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
@cems Teşekkür ederim. @Orion1 hocama ve size ilginiz için.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,460
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Bir ufak hata buldum, kodları ve dosyayı düzeltiyorum sayfayı yenileyin
 

Korhan Ayhan

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

Kod:
Option Explicit

Private Sub CommandButton1_Click()
    Dim Dizi As Object, Benzerler As Object
    Dim SonA As Long, SonB As Long, Veri As Range
    Dim Liste As Variant, X As Long, Zaman As Double
    
    Zaman = Timer
    
    Application.ScreenUpdating = False
    
    Set Dizi = CreateObject("Scripting.Dictionary")
    Set Benzerler = CreateObject("Scripting.Dictionary")
    
    Range("A2:B" & Rows.Count).Interior.ColorIndex = xlNone
    Range("C2:C" & Rows.Count).ClearContents
    
    SonA = Cells(Rows.Count, 1).End(3).Row
    SonB = Cells(Rows.Count, 2).End(3).Row
    
    If SonA >= SonB Then
        Liste = Range("A2:A" & SonA).Value
        For X = 1 To UBound(Liste)
            If Liste(X, 1) <> "" Then Dizi.Item(Liste(X, 1)) = Liste(X, 1)
        Next
        Liste = Range("B2:B" & SonB).Value
        For X = 1 To UBound(Liste)
            If Liste(X, 1) <> "" Then
                If Dizi.Exists(Liste(X, 1)) Then
                    If Not Benzerler.Exists(Liste(X, 1)) Then Benzerler.Add Dizi.Item(Liste(X, 1)), Nothing
                End If
            End If
        Next
    Else
        Liste = Range("B2:B" & SonA).Value
        For X = 1 To UBound(Liste)
            If Liste(X, 1) <> "" Then Dizi.Item(Liste(X, 1)) = Liste(X, 1)
        Next
        Liste = Range("A2:A" & SonA).Value
        For X = 1 To UBound(Liste)
            If Liste(X, 1) <> "" Then
                If Dizi.Exists(Liste(X, 1)) Then
                    If Not Benzerler.Exists(Liste(X, 1)) Then Benzerler.Add Dizi.Item(Liste(X, 1)), Nothing
                End If
            End If
        Next
    End If
    
    Range("C2").Resize(Benzerler.Count) = Application.Transpose(Benzerler.Keys)
    
    With Range("A2:B" & WorksheetFunction.Max(SonA, SonB))
        .FormatConditions.Add Type:=xlExpression, Formula1:="=COUNTIF($C:$C;A2)"
        .FormatConditions(.FormatConditions.Count).Interior.ColorIndex = 3
    End With

    Application.ScreenUpdating = True

    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00000") & " Saniye"
End Sub
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
593
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
@Korhan Ayhan Teşekkür ederim hocam. İyi Çalışmalar.
 
Üst