• DİKKAT

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

Veri Özetleme Farklı Sayfalar Makro İle

ERRİC

Altın Üye
Katılım
19 Ekim 2010
Mesajlar
313
Excel Vers. ve Dili
OFFİCE 2009
Selamlar forumdan daha önce aldığım kodlardan çalışmama uyarladım; bu haline kadar sitemizden yeterince destek aldım; fakat bir kaç sorum daha var yapamadığım;

1-"özet" sayfasındaki icmal için makro kopyaladım bazı sheet lerdeki verileri almadan atlıyor Örn.Nisan Mayıs Ekim Kasım Aralık.
2-"Rapor Yılık" sayfamdaki gibi otomatik icmal almasını istiyorum ürün bazında (hareket görenler) gelirse iyi olur hareket görmeyenler gelmez ve elle seçilmek zorunda kalınmaz veya elle aşağıya doğru kaydırma kopyalama yapmaya gerek kalmaz
3-"Rapor Aylık" sayfasındaki rapor da aynı şekilde bu sayfadaki formatta sadece hareket görenler kalacak şekilde bu formatta rapor alınabilir mi
umarım anlatabildim

Saygılar
 

Ekli dosyalar

ilk sorunuz için makroyu aşağıdaki gibi değiştirirseniz olur sanıyorum. Sayfa adlarındaki Türkçe karakterler makrolarda sorun çıkarıyor:
Kod:
Sub ÖZET_RAPOR()
    Dim S1 As Worksheet, Sayfa As Worksheet
    Dim X As Integer, Satır As Long
    
    Application.ScreenUpdating = False
    
    Set S1 = Sheets("ÖZET")
    Satır = 2
    
    S1.Range("A3:L65536").Clear
    
    For Each Sayfa In ThisWorkbook.Worksheets
 [COLOR="Red"][B]       If Sayfa.Name = "OCAK" Or Sayfa.Name = "ŞUBAT" Or Sayfa.Name = "MART" _
            Or Sayfa.Name = "NİSAN" Or Sayfa.Name = "MAYIS" Or Sayfa.Name = "HAZİRAN" _
            Or Sayfa.Name = "TEMMUZ" Or Sayfa.Name = "AĞUSTOS" Or Sayfa.Name = "EYLÜL" _
            Or Sayfa.Name = "EKİM" Or Sayfa.Name = "KASIM" Or Sayfa.Name = "ARALIK" Then
    [/B][/COLOR]        For X = 2 To 51
                If Trim(Sayfa.Cells(X, 1)) <> "" Then
                    Sayfa.Range("A" & X & ":L" & X).Copy S1.Range("A" & Satır)
                    Satır = Satır + 1
                End If
            Next
        End If
    Next
    
    S1.Cells.EntireColumn.AutoFit
    Set S1 = Nothing

    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Diğer istekleriniz için ise ben olsam her ay için ayrı sayfa kullanmak yerine tek sayfada tüm yılı kaydedip ordan özet tablolar alırdım. Dosyanın şu anki hali beni aşıyor maalesef.
 
Sn. YUSUF44 haklı. verileri dikey birleştirin, öyle özetleyin.

Tarih kolonu aylık olarak gruplanabiliyor özet tabloda.
 
Cevaplarınız için teşekkür ederim yazdığınız kodda çalıştı diğerlerine bakayım; tek sayfa girmeye alışmamış giren arkadaş fonksiyon v.b. ile rapor almamız gerekiyor kullanacak kişi excel bilgisi çok fazla değil bizim ki gibi Saygılar
 
Cevaplarınız için teşekkür ederim yazdığınız kodda çalıştı diğerlerine bakayım; tek sayfa girmeye alışmamış giren arkadaş fonksiyon v.b. ile rapor almamız gerekiyor kullanacak kişi excel bilgisi çok fazla değil bizim ki gibi Saygılar

Bu durumda tek sayfadan girmek daha doğru olmaz mı? Böylece Mart ayı sayfasına girilmesi gereken bir veri yanlışlıkla Mayıs ayı sayfasına girilmez. Tarih sütununa hangi tarih atıldıysa o tarihe göre özet tablolarda ve formüllerde değerlendirilir.

Tek tablo yaparsanız özet tablo ve dilimleyici yardımıyla çok güzel sonuçlar alırsınız bence.
 
Ekte dosyanız üzerinde bazı değişiklikler yaptım.

Aylara göre olan sayfaları iptal ettim. Veriler TABLO sayfasından girilecek.

Yıllık Rapor ve Aylık rapor sayfalarını açtığınızda özet tablolar otomatik yenilenecek.

TABLO sayfasında A sütununa tarih girdiğinizde yandaki formül olması gereken hücrelere formül yazılacak ve M sütununa ilgili ayı yazacak.

DATA sayfasındaki tanımlamaları dinamik yaptım, listede alta veri girdikçe veri doğrulamada çıkacak. Böylece gereksiz boşluklar olmayacak.

https://drive.google.com/file/d/0B43WMUs21VpfVTFwSGQ5VlZPc1U/view?usp=sharing
 
SayınYUSUF 44 emekleriniz için çok teşekkür ederim cevap mail geldi fakat henuz bakabildim çok güzel olmuş bu şekilde kullanabilir arkadaşlar sanırım bendeki bir kaç uygulama için fikir oldu
Saygılar
İyi günler
 
Geri
Üst