• DİKKAT

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

2 Ayrı Sayfa Karşılaştırması Hk Yardım...

Katılım
29 Ekim 2007
Mesajlar
4
Excel Vers. ve Dili
Excel 2010
StokKodu StokAdi
10 SAMSUNG TONER ML1610/2010/SCX4521
691 0691 EPSON YUKSEK KAPASİTE GERİ DÖNÜŞÜM TONER
1210 XEROX 1210 TONER
1610 SAMSUNG LASAR YAZICI 1610
2240 SAMSUNG ML2240 MONO LAZER YAZICI
2591 LEXMARK 2591 NOKTA VURUŞLU YAZICI

Şeklinde 2 Ayrı sayfa stok listesi mevcut. Sizlerden İstediğim yardım iki sayfadaki stok kodlarını karşılaştırıp aynı olanları Sayfa 3' aynı formatta yazan formül.
Şimdiden teşekkürler.
Bu Arada Excel 2010 versiyonu

Dosyanın Linki budur. http://s6.dosya.tc/server7/mvv2o9/ORNEK_DOSYA.xlsx.html
 
Son düzenleme:
Örnek bir dosyayı dosya yükleme sitelerinden birinde paylaşıp burada linkini verirseniz daha kolay çözüm buluruz.
 
Linki Konu başlığının altına ekledim.
Birde karşılaştırma sonrası aynı değerleri her iki stokdan da silecek. Yani Yeni sayfada L--- ve V--- de aynı olan stoklar Sayfa 2 ye aktarılınca silinecek. Bana Sadece Olmayanlar kalacak.
Yardımlarınız için şimdiden teşekkürler.
 
Son düzenleme:
Aynı olanlardan kastınız nedir? Sadece stok kodları aynıysa mı yoksa hem stok kodu hem de adı aynı olanlar mı?

Daha açık ifadeyle:

A sütunundaki kodlar D sütununda da varsa A ve B ile D ve E'in ilgili satırları mı taşınacak yoksa A sütunundaki kod D sütununda varsa ve B sütunundaki ad da E'dekiyle aynıysa mı bu işlem olacak?
 
Aşağıdaki kodları bir modüle kopyalayıp deneyiniz. Makroyu çalıştırmadan önce verilerinizin yedeğini almayı unutmayınız. İçiçe 2 döngü olduğundan makronun çalışması biraz uzun sürecektir:
Kod:
Sub kod()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")

sonL = s1.Cells(Rows.Count, "A").End(3).Row
For L = 3 To sonL
    adet = 0
    sonV = s1.Cells(Rows.Count, "D").End(3).Row
    For V = 3 To sonV
        If s1.Cells(L, "A") = s1.Cells(V, "D") And s1.Cells(L, "B") = s1.Cells(V, "E") Then
            yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
            s1.Range("D" & V & ":E" & V).Delete Shift:=xlUp
            sonV = sonV - 1
            If adet > 0 Then GoTo 10
            s2.Cells(yeni, "A") = s1.Cells(L, "A")
            s2.Cells(yeni, "b") = s1.Cells(L, "B")
            adet = adet + 1
10:
        End If
     Next
        If adet > 0 Then
            s1.Range("A" & L & ":B" & L).Delete Shift:=xlUp
            sonL = sonL - 1
        End If
Next
End Sub
 
Çok teşekkürler. Uzun sürer yazdığınız için henüz denemiyorum. Akşama deneyeceğim. Sonucu yarın cevaplandıracağım.
 
Geri
Üst