• DİKKAT

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

Aşağı doğru yayılmış satırları toparlamak....

  • Konbuyu başlatan Konbuyu başlatan machool
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Arkadaşlar kolay gelsin.Ekteki örnekte önceki ve sonraki adlı iki sekme var.Sizden ricam önceki sekmesinde olduğu gibi aşağı doğru dağılan satırları sonraki sekmesindeki gibi toparlayan bir makro yazmamız mümkün mü?Şimdiden teşekkürler...
 

Ekli dosyalar

Merhaba,

Bu şekilde deneyin.

Kod:
Sub Ozet()
 
    Dim s(), a1, deg
    Dim i As Long, d As Object, j As Byte
    
    With Application
        .ScreenUpdating = False
        .Calculation = xlManual
    End With
 
    Sheets("[COLOR=red]sonraki[/COLOR]").Select
    Rows("3:" & Rows.Count).Clear
 
    Set d = CreateObject("Scripting.Dictionary")
 
    With Sheets("[COLOR=red]önceki[/COLOR]")
        For i = 2 To .Cells(Rows.Count, "B").End(xlUp).Row
            deg = .Cells(i, "B")
            If Not d.exists(deg) Then
                ReDim s(2 To 96)
                For j = 2 To 96
                    s(j) = .Cells(i, j)
                Next j
                d.Add deg, s
            Else
                s = d.Item(deg)
                For j = 4 To 96
                    s(j) = s(j) + .Cells(i, j)
                Next j
                d.Item(deg) = s
            End If
        Next i
    End With
 
    a1 = d.items
 
    For i = 0 To d.Count - 1
        s = a1(i)
        For j = 2 To 96
            Cells(i + 3, j) = s(j)
        Next j
    Next i
 
    Range("B:B").NumberFormat = "#"
    Range("B:B").HorizontalAlignment = xlCenter
    Set d = Nothing
    
    With Application
        .ScreenUpdating = True
        .Calculation = xlAutomatic
    End With
 
End Sub
.
 
Sayın Ömer öncelikle teşekkürler.Bu kod istediğim işlemi gerçekleştiriyor.
Forumda daha önce tasarlanan bir excelin neticesinde oluşuyor bu kaymalar.Söz konusu excel bir tür sekmeden sekmeye kopyalama yapıyor.Eğer aynı satırdan daha önceden mevcut ise adetlerin toplamını yansıtıyor.Her satır öncesinde var mı diye kontrol ediyor.Bu işlem 10-15 satırda sıkıntı olmuyor ama satır sayısı 10.000 olunca çok kasılıyor.İşin ilginç tarafı bu kontrol işlemine artık ihtiyaç duyulmaması.Sadece exceli tasarlarken yapılan bir mantık hatasından ötürü bu kontrol işlemini koyduk.Ama artık gerek yok.Exceli tasarlayan arkadaşa maalesef ulaşamıyorum.Bu konuda bana yardımcı olursanız sevinirim.Saygılar...
 
Son düzenleme:
Nasıl bir yardım istiyorsunuz anlayamadım.

Kasılma konusuna gelince. 10-20 bin satır, 95 sütunda bu şekilde bir hesabı yapmanın işlem süresinin 1-2 dk civarında olması bana göre normal dir.
 
Ekteki dosyadaki excelin amacı ürün satış hızını hesaplamaktadır. Veriler "Ürün hızı" adlı excelin giriş sekmesine kopyala yapıştır yöntemi ile yapıştırıldıktan sonra kayıt yap butonu ile ilgili tarihin veritabanına (2011-2012...vs...) yükleniyor.Bu işlem esnasında eğer aynı tarihte aynı ürün var ise iki adeti toplayıp toplam adeti yazıyor. Ben bu raporları bir muhasebe programından çekiyorum ve bu excel hazırlanırken aynı gün içerisinde bir üründen bir kaç satırda çıkış olabiliyordu.Bu sebepten bunların toparlanması üzerine bir algoritma kuruldu.Ama artık buna gerek kalmadı çünki rapor aldığım muhasebe programı zaten toparlayıp veriyor verileri.

Sizden ricam bu exceli inceleyerek bu kontrol edip toparlama işlemini kaldırabilir misiniz?
 

Ekli dosyalar

Geri
Üst