Makronun devamı ?

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sitede yayınlanan bütün kod bankalarında ;
A ile b'yi karşılaştır, aynı olanları c'ye, farklı olanları d'ye yaz...
şeklinde bir kod bulunmakta, ancak kod tam olarak yapıştırılmamış, başlığından da anlaşıldığı üzere sıkça sorulan sorulara cevap olabileceğinden

Sub bul()
For a = 2 To Cells(65536, 1).End(xlUp).Row
If WorksheetFunction.CountIf(Columns(1), Cells(a, 2).Value) = 0 Then
e = WorksheetFunction.CountA([d2:d65536]) + 1
Cells(e + 1, 4) = Cells(a, 2).Value
End If
If WorksheetFunction.CountIf(Columns(2.......................
bu kodun devamı nasıl olmalıdır.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. korhan hocam, aynı sayfadaki a ve b sutunlarını karşılaştırıp aynı olanları c'ye, farklı olanları d'ye yazdıracak kodlar nasıl yazılabilir, yada yukarıdaki kodu nasıl devam ettirebiliriz. Saygılarımla.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
A ve B sütunlarını karşılaştıran bir örnek.
Kod:
Sub aVeBSutunlariniKarsilastir()
    Application.ScreenUpdating = False
    Range("C2:E65536").ClearContents

    sonA = [A65536].End(3).Row
    sonB = [B65536].End(3).Row

    Range("AA2:AA" & sonA).Formula = "=countif(B$2:B$" & sonB & ",A2)"
    Range("AB2:AB" & sonB).Formula = "=countif(A$2:A$" & sonA & ",B2)"

    sat = 2
    sat2 = 2
    For x = 2 To sonA
        If Cells(x, "AA") = 1 Then Cells(sat, "C") = Cells(x, "A"): sat = sat + 1    'ortak olanlar
        If Cells(x, "AA") = 0 And Cells(x, "A") <> "" Then Cells(sat2, "D") = Cells(x, "A"): sat2 = sat2 + 1    'Sadece A'da Olanlar
    Next x

    sat = 2
    For x = 2 To sonB
        If Cells(x, "AB") = 0 And Cells(x, "B") <> "" Then Cells(sat, "E") = Cells(x, "B"): sat = sat + 1    ''Sadece B'de Olanlar
    Next x

    Range("AA2:AB65536").ClearContents
    Application.ScreenUpdating = True
End Sub
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Alternatif olarak, biraz de&#287;i&#351;ik ama i&#351;e yarar...


Ayn&#305; olan verilerin h&#252;creleri renklendiriliyor ve c s&#252;tununa yaz&#305;l&#305;yor
Ayn&#305; olmayan veriler d s&#252;tununa yaz&#305;l&#305;yor...


Kod:
Dim hcr As Range
c = [c65536].End(3).Row + 1
d = [d65536].End(3).Row + 1
For a = 2 To [A65536].End(3).Row
    For b = 2 To [B65536].End(3).Row
        If Cells(a, 1) = Cells(b, 2) Then
            Cells(c, 3) = Cells(a, 1)
            c = c + 1
            Cells(a, 1).Interior.ColorIndex = 6
            Cells(b, 2).Interior.ColorIndex = 6
        End If
    Next
Next
For Each hcr In Range("a2:b" & [B65536].End(3).Row)
    If hcr.Interior.ColorIndex = xlNone Then
        Cells(d, 4) = hcr
        d = d + 1
    End If
Next
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Her ikiside birbirinden g&#252;zel, &#231;ok te&#351;ekk&#252;rler ediyorum sn. &#252;stadlar&#305;m. Kolay gelsin.
 
Üst