• DİKKAT

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

7000 satırlık veriyi sınıflandırıp toplamak

Katılım
2 Aralık 2016
Mesajlar
23
Excel Vers. ve Dili
excel 2010 türkçe
Merhaba

Sorunla karşılaştığım dosyadan bir bölüm paylaşıyorum

http://www.dosya.tc/server10/itgoue/ornek.xlsx.html

Dosya orjinal hali A1:I6968 hücre aralığında 6968 satırdan oluşmakta, istediğim 2. bir sayfaya her ürünleri toplam adetini (G Sutunu) ve toplam tutarını (H sutunu) toplayıp tek satırda yazması ;D-E-F-I sutunlarını aktarmasada olur önemi yoktur.

Örnek te paylaştıgım dosyada Sayfa2 bir örneklendirme yaptım. Hücre aralığını ne kadar geniş tutarsak iyi olur yarın bir gün 7500 satır da gelebilir.

Yardımlarınızı Rica ediyorum.
 
Merhaba

Sorunla karşılaştığım dosyadan bir bölüm paylaşıyorum

http://www.dosya.tc/server10/itgoue/ornek.xlsx.html

Dosya orjinal hali A1:I6968 hücre aralığında 6968 satırdan oluşmakta, istediğim 2. bir sayfaya her ürünleri toplam adetini (G Sutunu) ve toplam tutarını (H sutunu) toplayıp tek satırda yazması ;D-E-F-I sutunlarını aktarmasada olur önemi yoktur.

Örnek te paylaştıgım dosyada Sayfa2 bir örneklendirme yaptım. Hücre aralığını ne kadar geniş tutarsak iyi olur yarın bir gün 7500 satır da gelebilir.

Yardımlarınızı Rica ediyorum.

Dosyanız EK' tedir.

http://s8.dosya.tc/server5/fzkbvo/ornek.xlsx.html
 
teşekkür ederim emeğiniz için fakat işimi görmedim 7000 satırlık veri uygulamak zor ancak kod ile çözülcek gibi
 
Ekli dosyayı inceleyiniz. Dosyada Sayfa3'te özet tablo raporu var. Özet tablonun düzgün çalışması için Sayfa1'de her satırda veri olması gerekiyor. Yani yaptığınız gibi sadece ilk satırda firma adı olup, alttakilerin boş olmaması gerekiyor.

Makro ile Sayfa3'ü her açtığınızda mevcut güncel verilere göre özet tablo kendini yenilemektedir:

https://drive.google.com/file/d/1mhZzfhIxtizqifnqbZDw8sDSZjg_xMCh/view?usp=sharing
 
Alternatif olarak makrolu çözüm.

Kod:
Sub topla()
Set s1 = Sheets("Sayfa1")
a = s1.Range("A2:I" & s1.Cells(Rows.Count, 3).End(3).Row)
On Error Resume Next
ReDim b(1 To UBound(a), 1 To 12)
For i = 1 To UBound(a)
    If a(i, 3) <> "" Then
        topla1 = 0: topla2 = 0
        say = say + 1
        For y = 1 To 6
            b(say, y) = a(i, y)
        Next y
        b(say, 7) = a(i, 7)
        b(say, 8) = a(i, 8)
    Else
        topla1 = topla1 + a(i, 7)
        topla2 = topla2 + a(i, 8)
        b(say, 9) = topla1
        b(say, 10) = topla2
    End If
Next i

tbl = Array(b)
Erase b

ReDim b(1 To say, 1 To 9)
For i = 1 To say
    For y = 1 To 6
        b(i, y) = tbl(0)(i, y)
    Next y
    b(i, 7) = tbl(0)(i, 7) + tbl(0)(i, 9)
    b(i, 8) = tbl(0)(i, 8) + tbl(0)(i, 10)
    b(i, 9) = b(i, 8) / b(i, 7)
Next i

Set s2 = Sheets("Sayfa2")
s2.Range("A2:I" & Rows.Count).ClearContents
s2.[A2].Resize(say, 9) = b
s2.[G2].Resize(say, 3).NumberFormat = "#,##0.00"
s2.Select
MsgBox "İşlem Tamam.", vbInformation
End Sub
 
Ekli dosyayı inceleyiniz. Dosyada Sayfa3'te özet tablo raporu var. Özet tablonun düzgün çalışması için Sayfa1'de her satırda veri olması gerekiyor. Yani yaptığınız gibi sadece ilk satırda firma adı olup, alttakilerin boş olmaması gerekiyor.

Makro ile Sayfa3'ü her açtığınızda mevcut güncel verilere göre özet tablo kendini yenilemektedir:

https://drive.google.com/file/d/1mhZzfhIxtizqifnqbZDw8sDSZjg_xMCh/view?usp=sharing

çözümünüz tam istediğim gibi oluşan sayfa3 deki Pivot Table'ı hiç bozmadan nasıl başka sayfaya kopyalayabilirim üzerinde düzenleme yapacağım taşıyorum hala sutun eklemeye değer değişmeye izin vermiyor
 
Özet tabloyu kopyalayıp değerleri yapıştırırsanız istediğiniz gibi düzenleyebilirsiniz. Ancak veri güncellendiğinde aynı işlemleri tekrar yapmanız gerekebilir.
 
hocam teşekkür ederim tüm tabloyu seçip yeni bir excel dosyasında yapıştırırken değer (123) olan şeklinde yapınca bağımsız oldu istediğim gibi oynadım cok basit bir işlem aslında ben direk yapıştırıyordum oda herşeyiyle geliyordu. Allah sizden razı olsun çok teşekkür ederim
 
Dosyanızda özet tablo yok ve tam olarak ne istediğiniz de anlaşılmıyor maalesef.
 
Geri
Üst