• DİKKAT

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

Iki farklı liste farkı ayırma hakkında tablo

Katılım
26 Nisan 2015
Mesajlar
189
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO 64 bit
Merhaba sn hocalarım.
Excel de aşağıda eklediğim linkte bulunan dosyamda sistem tarafından otomatik aldıgım iki farklı tarihte çekilmiş bir liste mevcuttur.Dosyada ESKİ-YENİ sayfasında yesil renk ile boyanan sayfalar ESKİ tarihli bir listedir.Yine aynı sayfada sarı renkle boyanan sayfalar YENİ tarihli bir listedir.Ben iki listeyi aynı sayfada ( ESKİ - YENİ ) sayfasında birleştirdim.R sutununa DURUM yazarak ESKİ lere ESKİ , YENİ lere YENİ yazdım.Bu sayfada değişiklik yapılmış olup ; yapılan değişiklikler şu şekildedir.
A= Her iki listede olan ama ( M ) sutununda; Ham Planlanan- ( N ) sutununda Ham Çıkan - ( O ) sutununda
-Ham Bakiye kısımlarında miktarlarda değişiklik olabilir.
Yani şöyle anlatırsam ; eski listede M16 hücresinde değer 1959 N16 hücresinde değer 1083 O16 hücresinde 876 iken ; yeni listede M98 1959 ( aynı ) N98 1643 O98 ise 316 dır.

Bu ayrımı ben amatörce pivot table yaparak ÖZET sayfasında görülecegi gibi özet yapıyorum.
Daha sonra bu özeti kopyalayarak SON HALİ sayfasında görülecegi gibi I sutununa FARK olarak bir sutun ekleyip öyle bulabiliyorum.

Aklınıza farklı bir çözüm gelebilir mi ?



Bu konuda bana yardımcı olabilirmisiniz ?

Teseekkur eder iyi çalışmalar dilerim.
 
Merhaba, M, N ve O sütunu dışında; bu iki satırı (16 ve 98'inci satırlar) karşılaştıracağınızı nereden anlamak lazım, bu iki satırın karşılaştırılacağına hangi kritere göre karar veriliyor.?
 
Ömer bey aslında 16M de 1959 kg sipariş miktarı.bugun N16 da siparişin 1083 kg ını gondermişim.Geri O16 da 876 kg kalmıs.

Yeni olarak cektiğim listede 98M de aynı siparişten ( 1959 kg ) dan N98 de 1643 kg göndermişim Geri O98 de 316 kg kalmış

1959 kg toplam ihtiyacta birinci listede 876 kg kalmışken ikinci listede 316 kg kalmış.

Yani 876-316 = 560 kg arada cıkıs yapılmış.
Satır düzeyinde bakıldıgında bu satırda değişiklik yapılmış görünüyor.
Diğer satırlarda dikkat edeceğimiz alan M-N-O sütunudur.
M sutunu ihtiyac N sutunu cıkılan O sutunu kalandır.
 
Ömer bey aslında 16M de 1959 kg sipariş miktarı.bugun N16 da siparişin 1083 kg ını gondermişim.Geri O16 da 876 kg kalmıs.

Yeni olarak cektiğim listede 98M de aynı siparişten ( 1959 kg ) dan N98 de 1643 kg göndermişim Geri O98 de 316 kg kalmış

1959 kg toplam ihtiyacta birinci listede 876 kg kalmışken ikinci listede 316 kg kalmış.

Yani 876-316 = 560 kg arada cıkıs yapılmış.
Satır düzeyinde bakıldıgında bu satırda değişiklik yapılmış görünüyor.
Diğer satırlarda dikkat edeceğimiz alan M-N-O sütunudur.
M sutunu ihtiyac N sutunu cıkılan O sutunu kalandır.
 
Merhaba, ekte tablolarınızı karşılaştıran özet sayfası oluşturuldu.

Kod:
Sub ozetOlustur()
    Sheets("eski-yeni").Select
    ksut = Array(1, 4, 7, 9, 11, 12)
    aSon = Cells(Rows.Count, 1).End(3).Row
    shVeri = Range(Cells(2, 1), Cells(aSon, 18)).Value2
    With CreateObject("scripting.dictionary")
        For i = LBound(shVeri) To UBound(shVeri)
            idx = Application.Index(shVeri, i, ksut)
            ID = Join(idx, "|")
            If Not .Exists(ID) Then
                ReDim w(1 To 2)
                Select Case shVeri(i, 18)
                Case "eski"
                    w(1) = shVeri(i, 15)
                Case "yeni"
                    w(2) = shVeri(i, 15)
                End Select
                .Add ID, w
            Else
                w = .Item(ID)
                Select Case shVeri(i, 18)
                Case "eski"
                    w(1) = shVeri(i, 15)
                Case "yeni"
                    w(2) = shVeri(i, 15)
                End Select
                .Item(ID) = w
            End If
        Next i
        IDs = (.keys)
        its = Application.Index(.items, 0, 0)
    End With
    uz = UBound(its)
    Sheets("ozetV").Select
    [a2:I65536].ClearContents
    For i = 1 To uz
        dy = Split(IDs(i - 1), "|")
        Cells(i + 1, 1).Resize(, 6).Value = dy
        Cells(i + 1, 7) = its(i, 1)
        Cells(i + 1, 8) = its(i, 2)
        Cells(i + 1, 9) = its(i, 2) - its(i, 1)
    Next i
    Columns("A:I").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess
    Columns("A:I").EntireColumn.AutoFit
End Sub
 

Ekli dosyalar

Veysel bey öncelikle ellerinize sağlık.Tesekkur ederim.Bu işlev sayfalara yeni veriler girdiğim zamanda çalışır mı ?
 
Ömer bey süper olmuş elleriniz dert görmesin.Cok teşekkür ediyorum.
 
Geri
Üst