ürün karşılaştırma

Katılım
17 Haziran 2007
Mesajlar
8
Excel Vers. ve Dili
office 2003 tr
arkadaşlar slm,

benim yapmaya çalıştığım şey örnekteki dosyada bulunan sayfa1 deki a,b,c,d sütunlarını sayfa2 deki a,b,c,d sütunları ile karşılaştırma yapmak.fakat şu şekilde sayfa1 baz alıp sayfa2 de eklenen yeni satır ve adet kısmını sayfa3 de gösterebilmek. umarım derdimi anlatabilmişimdir. herkese yardımları için teşekkürler.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Sub test()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
Set s3 = Sheets("sayfa3")
For i = 1 To 50
If s1.Range("a" & i) <> s2.Range("a" & i) And s1.Range("b" & i) <> s2.Range("b" & i) And s1.Range("c" & i) <> s2.Range("c" & i) And s1.Range("d" & i) <> s2.Range("d" & i) Then
s2.Range("a" & i).EntireRow.Copy
s = s + 1
s3.Range("a" & s).PasteSpecial
End If
Next
Application.CutCopyMode = False
End Sub
 
Katılım
17 Haziran 2007
Mesajlar
8
Excel Vers. ve Dili
office 2003 tr
Sub test()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
Set s3 = Sheets("sayfa3")
For i = 1 To 50
If s1.Range("a" & i) <> s2.Range("a" & i) And s1.Range("b" & i) <> s2.Range("b" & i) And s1.Range("c" & i) <> s2.Range("c" & i) And s1.Range("d" & i) <> s2.Range("d" & i) Then
s2.Range("a" & i).EntireRow.Copy
s = s + 1
s3.Range("a" & s).PasteSpecial
End If
Next
Application.CutCopyMode = False
End Sub
arkadaşım çok teşekkür ederim ama yapmış olduğun düğme bir olayı sadece 1 satırı ekliyo ve sayfa1 ile sayfa iki arasındaki farkı tam olarak vermiyor. sayfa 2 de adetlerde bazı ürünlerde farklılıklar var onlar çıkmıyor. acaba benmi yalnış bişey yaptım????
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Kodu bunun ile de&#287;i&#351;tirp bir daha deneyiniz.
Sub test()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
Set s3 = Sheets("sayfa3")
For i = 1 To 50
If s1.Range("a" & i) <> s2.Range("a" & i) Or s1.Range("b" & i) <> s2.Range("b" & i) Or s1.Range("c" & i) <> s2.Range("c" & i) Or s1.Range("d" & i) <> s2.Range("d" & i) Then
s2.Range("a" & i).EntireRow.Copy
s = s + 1
s3.Range("a" & s).PasteSpecial
End If
Next
Application.CutCopyMode = False
End Sub
 
Katılım
17 Haziran 2007
Mesajlar
8
Excel Vers. ve Dili
office 2003 tr
Kodu bunun ile değiştirp bir daha deneyiniz.
Sub test()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
Set s3 = Sheets("sayfa3")
For i = 1 To 50
If s1.Range("a" & i) <> s2.Range("a" & i) Or s1.Range("b" & i) <> s2.Range("b" & i) Or s1.Range("c" & i) <> s2.Range("c" & i) Or s1.Range("d" & i) <> s2.Range("d" & i) Then
s2.Range("a" & i).EntireRow.Copy
s = s + 1
s3.Range("a" & s).PasteSpecial
End If
Next
Application.CutCopyMode = False
End Sub
arkadaşım süpersin şimdi çalıştı bir ek olarak şunu ekleyebilirmiyiz. sayfa3 de 1 ve 2 arasındaki değişikliğe uğrayanları veriyor şuan. örnek olarak sayfa1 de 1 adet sayfa2 de 2 adet olanın arasındaki fark 1 adet oynamış şeklinde mümkünmüdür? çok teşekkür edrim yardımların için
 
Üst