• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

KARŞILAŞTIRMA ve Farkı Bulma

Merhaba daha yeni üye oldum size sormak istediğim. Aşağıdaki gibi bir tabloda karşılaştırmak istiyorum. Normalde karışık olur ben sıralama yaptığım için sıralı şuan. Ben a ve d sütünlerına kodları b ve e sutunlarınada fiyatları yazıyorum. (sırasız) hem kod hemde rakamlar tutması lazım. tutmayan olursa başka bir yerde çıkmasını istiyorum. tutanlarda ayrı yerde çıkmasını istiyorum. Fiyatlarda eksik yada fazla olarak görünmesini istiyorum. Yardımcı olabilir misiniz?



a b d e
006932 1075,20 6932 1075,20
010034 780,80 10034 780,80
021200 672,00 21200 672,00
021204 672,00 21204 672,00
021585 392,00 21585 392,00
021762 1326,00 21762 1326,00
021930 963,20 21930 963,20
022518 857,60 22518 857,60
022639 619,20 22639 619,20
022659 481,60 22659 481,60


Lütfen küçük bir dosya ekleyiniz. Kod yazacak arkadaşa birde dosya oluşturmak için külfet yüklemeyin.
 
Merhaba,

Tutan V.No, Tutmayan V.No dan kastınız nedir?
Fiyatları tutan ve tutmayan mı, yoksa bir numara diğer sütunda bulunmadıysa mı tutmayan oluyor?

Örnek dosyanızda buna bir örnek verseniz anlaşılması daha kolay olur.
 
Merhaba,

Dosyayı inceleyiniz.

Kod:
Sub Karsilastir()
    
    Dim i   As Long, _
        j   As Long, _
        k   As Long, _
        n   As Long, _
        c   As Range
    
    Application.ScreenUpdating = False
    
    Range("G3:j" & Rows.Count).Clear
    [Z1] = 1
    i = Cells(Rows.Count, "A").End(3).Row
    
    Range("Z1").Copy
    Range("A3:A" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    
    j = 2
    k = 2
    n = 2
    
    For i = 3 To Cells(Rows.Count, "A").End(3).Row
    
        Set c = Range("D:D").Find(Val(Cells(i, "A")), LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            If Cells(i, "B") <> Cells(c.Row, "E") Then
                j = j + 1
                Cells(j, "G") = Cells(i, "A")
                Cells(j, "H") = Cells(i, "B") - Cells(c.Row, "E")
                Range("A" & i & ":B" & i).Interior.ColorIndex = 35
                Range("G" & j & ":H" & j).Interior.ColorIndex = 35
                Range("D" & c.Row & ":E" & c.Row).Interior.ColorIndex = 35
            Else
                Range("A" & i & ":B" & i).Interior.ColorIndex = 36
                Range("D" & c.Row & ":E" & c.Row).Interior.ColorIndex = 36
            End If
        Else
            k = k + 1
            With Cells(k, "I")
                .Value = Cells(i, "A")
                .Interior.ColorIndex = 3
            End With
            Range("A" & i & ":B" & i).Interior.ColorIndex = 3
        End If
    
    Next i
    
    j = 2
    
    For i = 3 To Cells(Rows.Count, "D").End(3).Row
    
        Set c = Range("A:A").Find(Val(Cells(i, "D")), LookIn:=xlValues, LookAt:=xlWhole)
        If c Is Nothing Then
                j = j + 1
                With Cells(j, "J")
                    .Value = Cells(i, "D")
                    .Interior.ColorIndex = 3
                End With
                Range("D" & i & ":E" & i).Interior.ColorIndex = 3
        End If
    
    Next i
    
    With Application
        .ScreenUpdating = True
        .CutCopyMode = True
    End With
    
    MsgBox "KARŞILAŞTIRMA BİTTİ"
    
End Sub
 

Ekli dosyalar

Tam istediğim gibi olmuş. Elinize sağlık. Çok sağolun.
Merhaba,

Dosyayı inceleyiniz.

Kod:
Sub Karsilastir()
    
    Dim i   As Long, _
        j   As Long, _
        k   As Long, _
        n   As Long, _
        c   As Range
    
    Application.ScreenUpdating = False
    
    Range("G3:j" & Rows.Count).Clear
    [Z1] = 1
    i = Cells(Rows.Count, "A").End(3).Row
    
    Range("Z1").Copy
    Range("A3:A" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    
    j = 2
    k = 2
    n = 2
    
    For i = 3 To Cells(Rows.Count, "A").End(3).Row
    
        Set c = Range("D:D").Find(Val(Cells(i, "A")), LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            If Cells(i, "B") <> Cells(c.Row, "E") Then
                j = j + 1
                Cells(j, "G") = Cells(i, "A")
                Cells(j, "H") = Cells(i, "B") - Cells(c.Row, "E")
                Range("A" & i & ":B" & i).Interior.ColorIndex = 35
                Range("G" & j & ":H" & j).Interior.ColorIndex = 35
                Range("D" & c.Row & ":E" & c.Row).Interior.ColorIndex = 35
            Else
                Range("A" & i & ":B" & i).Interior.ColorIndex = 36
                Range("D" & c.Row & ":E" & c.Row).Interior.ColorIndex = 36
            End If
        Else
            k = k + 1
            With Cells(k, "I")
                .Value = Cells(i, "A")
                .Interior.ColorIndex = 3
            End With
            Range("A" & i & ":B" & i).Interior.ColorIndex = 3
        End If
    
    Next i
    
    j = 2
    
    For i = 3 To Cells(Rows.Count, "D").End(3).Row
    
        Set c = Range("A:A").Find(Val(Cells(i, "D")), LookIn:=xlValues, LookAt:=xlWhole)
        If c Is Nothing Then
                j = j + 1
                With Cells(j, "J")
                    .Value = Cells(i, "D")
                    .Interior.ColorIndex = 3
                End With
                Range("D" & i & ":E" & i).Interior.ColorIndex = 3
        End If
    
    Next i
    
    With Application
        .ScreenUpdating = True
        .CutCopyMode = True
    End With
    
    MsgBox "KARŞILAŞTIRMA BİTTİ"
    
End Sub
 
Güle güle kullanınız.
 
Güle güle kullanınız.

Ekli dosyayı görüntüle KARŞILAŞTIRMA2013.xls

Merhaba Daha öncede aynı şeyi istemiştim. O işime çok yaradı biraz ekleme yaptım. Yolladığım dosyada kod hazır sizin yaptığınız

Sadece şekil bakımından biraz değiştirdim. Ve birkaç tane daha özellik ekledim. O şekilde yine bir kod yazabilir misiniz?

Tabikide sizi yormayacaksa...


Ayrıca tabikide olma imkanı varsa KARŞILAŞTIR - FARKLI KAYDET VE TEMİZLE BUTONLARI ekleyebilir misiniz?
 
Son düzenleme:
Ekli dosyayı görüntüle 146971

merhaba daha öncede aynı şeyi istemiştim. O işime çok yaradı biraz ekleme yaptım. Yolladığım dosyada kod hazır sizin yaptığınız

sadece şekil bakımından biraz değiştirdim. Ve birkaç tane daha özellik ekledim. O şekilde yine bir kod yazabilir misiniz?

Tabikide sizi yormayacaksa...


Ayrıca tabikide olma imkanı varsa karşılaştır - farklı kaydet ve temizle butonları ekleyebilir misiniz?

günceldir.
 
Arkadaşlar bana da ACİL yardımcı olabilecek var mı?

Farklı 2 çalışma kitabından 2 farklı sütunu karşılaştırmak istiyorum. yani 1.çalışma kitabının 1. sayfasındaki E sütunu ile 2.çalışma kitabının 1.sayfasındaki C sütununun karşılaştırılmasını ve farklı olanların yeni bir çalışma kitabında tüm satır olarak (tüm satırdan kastım; farklı olanın bulunduğu satırın tamamı alınarak ) gösterilmesini gerekiyor. Bu arada veri 10.000 fazla.
 
Son düzenleme:
arkadaşlar elimde 150bin satırlık 2 veri var bunları karşılaştırmam mümkünmüdür?
 
Merhaba,

Kod değil örnek dosya eklerseniz yardımcı olacak çok kişi çıkacaktır.
 
öncelikle cevaplarınız için teşekkürler arkadaşlar örnek listeyi ekte yolluyorum
 

Ekli dosyalar

öncelikle cevaplarınız için teşekkürler arkadaşlar örnek listeyi ekte yolluyorum

Dosyanı hazırladım 150000 satırlık veriye dediğin işlemleri yapmak makinanda çok zaman alacağını tahmin ediyorum sayfa2 ve sayfa 3 e verilerini kopyalayarak;
sayfa 2 deki makrolar yardımıyla eski listede olup yeni listede olmıyanlar ve yeni listede olup eskide olmıyanları istediğin renge boyuyacaktır.
sayfa3 de ise verilerini sayfa 3 e kopyalayıp makroları çalıştırdığın zaman mükerrer kayıtları renklendirecektir
NOT:İŞLEM PC HIZINA GÖRE ÇOK ZAMAN ALABİLİR !
 

Ekli dosyalar

Son düzenleme:
Dosyanı hazırladım 150000 satırlık veriye dediğin işlemleri yapmak makinanda çok zaman alacağını tahmin ediyorum sayfa2 ve sayfa 3 e verilerini kopyalayarak;
sayfa 2 deki makrolar yardımıyla eski listede olup yeni listede olmıyanlar ve yeni listede olup eskide olmıyanları istediğin renge boyuyacaktır.
sayfa3 de ise verilerini sayfa 3 e kopyalayıp makroları çalıştırdığın zaman mükerrer kayıtları renklendirecektir
NOT:İŞLEM PC HIZINA GÖRE ÇOK ZAMAN ALABİLİR !

teşekkürler süleyman söylemiş olduğun gibi çok uzun sürdü fakat 2 sayfadaki makrolar işimi gördü.sadece sayfa 3 de bulunan mükerrer kayıtlarda sıkıntı yaşadım 10 a yakın pc de makroları çalıştırdım fakat pc kasma yaptığından dolayı sonuca ulaşamadım
 
Nected Bey merhaba bu mükemmel çalışma için size ne kadar teşekkür etsem az. Çok işime yaradı. Peki 2 değilde daha fazla mesela üc veya 4 sheetteki ürün ve fiyatları karşılaştırmak istersen bunu nasıl yapabiliriz?

Teşekkürler.
 
Elinize sağlık
 
Geri
Üst