• DİKKAT

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

Satış listesini toplatmak

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,418
Excel Vers. ve Dili
2016 Türkçe
Arkadaşlar iyi günler 10 günlük satış listem var hergünde ayrı ayrı satılan ürün satış miktarı ve satış tutarları var benim istediğim 10 günlük satıştaki ürünleri miktar ve tutarlarını burada toplatarak listelemek istiyorum..yukardaki gibi 20000761 DOMATESi miktarı 219,03 ve satış tutarını 614,05 olarak toplatmak.bu sayfa ŞUBE 1 bunun gibi yaklaşık 20 şube daha açacağım makro ile yaparsak bunuda dikkate almanızı rica edeceğim
 

Ekli dosyalar

Arkadaşlar günaydın..bu konuda çözüm önerisi olan var mı acaba
 
10 gün için ayrı ayrı listeler yapmak yerine tek kısımda, bir sütunda tarih belirterek alt alta yapsanız daha iyi olmaz mı? Böylece İstediğiniz bir çok şeyi daha kolay yapabilir ve özet tablonun avantajlarından yararlanabilirsiniz.
 
Yusuf bey maalesef şubelerden listeler bu şekilde geliyor..bunun gibi yaklaşık 20 şube var..yoksa dediğiniz gibi alt alt gelse bir çok şekilde çözüme ulaşabilirim..bunları aynı alt alta sıralatarak bir çözüm yolu bulma imkanım olur mu....
 
Eğer dosyanız tam olarak bu yapıdaysa aşağıdaki kodları bir modüle kopyalayıp deneyiniz. Öncesinde dosyanızı Makro İçerebilen Excel Dosyası olarak kaydetmenizi öneririm. Makro çalıştığında dosyada bulunan her sayfada ayrı ayrı tüm günlerin satışını A:E sütunlarına alt alta yazar, eski sütunları siler ve özet tablo ekler:

Kod:
Sub kabzımal()
For i = 1 To Sheets.Count
    Sheets(i).Activate
    Sheets(i).Columns("A:A").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets(i).[A2] = "TARİH"
    For j = 3 To Sheets(i).Cells(1, Columns.Count).End(xlToLeft).Column
        If IsDate(Sheets(i).Cells(1, j)) = True And UCase(Left(WorksheetFunction.Trim(Sheets(i).Cells(2, j)), 4)) = "ÜRÜN" Then
            son = WorksheetFunction.Max(Sheets(i).Cells(Rows.Count, j).End(3).Row, 3)
            eski = Sheets(i).Cells(Rows.Count, "B").End(3).Row + 1
            Sheets(i).Range(Cells(3, j), Cells(son, j + 3)).Copy Sheets(i).Cells(eski, "B")
            yeni = Sheets(i).Cells(Rows.Count, "B").End(3).Row
            Sheets(i).Range("A" & eski & ":A" & yeni) = Sheets(i).Cells(1, j)
            Sheets(i).Range("A" & eski & ":A" & yeni).NumberFormat = "dd/mm/yyyy"
        End If
    Next
    Sheets(i).Columns("G:AZ").Delete
    Sheets(i).Columns("G:AZ").Delete

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        Sheets(i).Range("A2:E" & yeni), Version:=xlPivotTableVersion10).CreatePivotTable _
        TableDestination:=Sheets(i).[H1], TableName:="Pivot" & Sheets(i).Name, DefaultVersion _
        :=xlPivotTableVersion10
    
    With Sheets(i).PivotTables("Pivot" & Sheets(i).Name).PivotFields("ÜRÜN")
        .Orientation = xlRowField
        .Position = 1
    End With
    With Sheets(i).PivotTables("Pivot" & Sheets(i).Name).PivotFields("Birim")
        .Orientation = xlRowField
        .Position = 2
    End With
    Sheets(i).PivotTables("Pivot" & Sheets(i).Name).AddDataField Sheets(i).PivotTables("Pivot" & Sheets(i).Name). _
        PivotFields("Toplam Satış Kg"), "Satış Miktarı", xlSum
    Sheets(i).PivotTables("Pivot" & Sheets(i).Name).AddDataField Sheets(i).PivotTables("Pivot" & Sheets(i).Name). _
        PivotFields("Toplam Satış TL"), "Satış Tutarı", xlSum
    With Sheets(i).PivotTables("Pivot" & Sheets(i).Name).DataPivotField
        .Orientation = xlColumnField
        .Position = 1
    End With
    With Sheets(i).PivotTables("Pivot" & Sheets(i).Name).PivotFields("Birim")
        .Orientation = xlColumnField
        .Position = 2
    End With
    Sheets(i).PivotTables("Pivot" & Sheets(i).Name).TableStyle2 = "PivotStyleLight22"
    With Range("I1:N3")
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
[A1].Select
Next
MsgBox Sheets.Count & " adet şubenin dönemlik satışları ayrı ayrı birleştirildi ve özet tablolar oluşturuldu!", vbOKOnly
End Sub
 
Yusuf bey teşekkür ederim..eski sütunları silmeden yapma imkanımız var mı acaba...veriler sayfada kalması veri kontrolü açısından iyi olur..satış miktar ve tutarlarını 2 sütun olarak oluşturma imkanı varmı özet tabloda veriler sütunlarda karışık örneğin domates 219,03 kg 614,05 tl iki defa yazılmış alttaki marul göbek miktar farklı sütunda.
 

Ekli dosyalar

Eski sütunlar silinmeden okur ama özet tablo yeni sayfada olur. Kopyala yapıştırda veri kaybı olmaz normalde. Özet tablo düzeni konusunda acemiyim.

Evde bilgisayarım yok maalesef. Mesai dışında soru çözemiyorum. Haftaiçi ne kadar diğer arkadaşlar çözüm bulamazsa ilgilenirim inşallah.
 
Arkadaşlar iyi günler 10 günlük satış listem var hergünde ayrı ayrı satılan ürün satış miktarı ve satış tutarları var benim istediğim 10 günlük satıştaki ürünleri miktar ve tutarlarını burada toplatarak listelemek istiyorum..yukardaki gibi 20000761 DOMATESi miktarı 219,03 ve satış tutarını 614,05 olarak toplatmak.bu sayfa ŞUBE 1 bunun gibi yaklaşık 20 şube daha açacağım makro ile yaparsak bunuda dikkate almanızı rica edeceğim

.

Dosyanız ekte.

.
 

Ekli dosyalar

Günaydın idris bey..öncelikle yardımınız için teşekkür ederim.2.çözüm yolu tam benim istediğim gibi...ancak verilerde değişiklik yaptığımda özet tabloyu yenile dediğimde yenileme yapmıyor..neden acaba ?
 
.

Nasıl bir değişiklik yaptığınızı bilmeden, sorunuza bir yanıt vermem pek kolay değil.

.
 
.

01.08.2016 domates miktarı 32,56 kg'dı ben bunu 500 kg yaptım..özet tablodaki miktarında değişiklik olmuyor..özet tabloyu yenile dediğim zaman tekrardan özet tablo oluşturmaya başlıyor..normalde yenile dediğimde özet tablodaki verileri yenilemesi gerek miyor mu.. birden çok veri tablosu olduğu için mi yenileme yapmıyor...eğer dediğim gibiyse nasıl bir çözüm üretebiliriz..dinamik alanla özet tablodaki verileri girdiğimde güncelleme imkanımız olur mu
 

Ekli dosyalar

01.08.2016 domates miktarı 32,56 kg'dı ben bunu 500 kg yaptım..özet tablodaki miktarında değişiklik olmuyor..özet tabloyu yenile dediğim zaman tekrardan özet tablo oluşturmaya başlıyor..normalde yenile dediğimde özet tablodaki verileri yenilemesi gerek miyor mu.. birden çok veri tablosu olduğu için mi yenileme yapmıyor...eğer dediğim gibiyse nasıl bir çözüm üretebiliriz..dinamik alanla özet tablodaki verileri girdiğimde güncelleme imkanımız olur mu

.

Dosyanız ekte.

.
 

Ekli dosyalar

Geri
Üst