• DİKKAT

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

Seçime göre listelemek ve toplam almak

Katılım
23 Aralık 2009
Mesajlar
114
Excel Vers. ve Dili
Excel 2003
Saygıdeğer Hocalar,

Ekte sorumu açık ve net bir şekilde yazdım. Yardımcı olabilirseniz çok mutlu olacağım.

Ama kısaca özetlemem gerekirse elimde uzun bir liste var. Yapmam gereken şey Üretim Kodlarına göre hangi makinelerde işler yapılmış listeletmek. Ama tabi listeletirken toplamlarınıda almam gerekiyor.

Örn: A kodundaki işi m1, m2, m3 de yapılmış. Tabi bu iş sadece herhangi bir makinede 1 kere yapılacak diye bir şart yok. Bu nedenle A kodundaki işi m1 makinesi 6 kere yapmışta olabilir. Ve ben burda A kodundaki iş hangi makinede toplam kaç kg yapılmış bulmak istiyorum.



Saygılarımla.
 

Ekli dosyalar

Merhaba

Aşağıdaki kodları denebilirsiniz.

Kod:
Sub AktarTopla()
Dim a, b, i, n, sat, veri()
Set s1 = Sheets("data")
Set s2 = Sheets("rapor")
'*******************************************
a = s1.Range("a2:e" & s1.[a65536].End(3).Row).Value
ReDim veri(1 To UBound(a, 1), 1 To 5)
'*******************************************
With CreateObject("Scripting.Dictionary")
    .CompareMode = vbTextCompare
    For i = 1 To UBound(a, 1)
        z = a(i, 1) & ":" & a(i, 2)
           If Not IsEmpty(z) Then
                If Not .exists(z) Then
                    n = n + 1
                    .Add z, n
                    veri(n, 1) = a(i, 1)
                    veri(n, 2) = a(i, 2)
                End If
                    veri(.Item(z), 3) = veri(.Item(z), 3) + a(i, 3)
                    veri(.Item(z), 4) = veri(.Item(z), 4) + a(i, 4)
                    veri(.Item(z), 5) = veri(.Item(z), 5) + a(i, 5)
            End If
    Next i
End With
'*******************************************
sat = s2.[a65536].End(3).Row + 1
s2.Range(s2.Cells(2, "a"), s2.Cells(sat, "e")).ClearContents
s2.[a2].Resize(n, 5).Value = veri
''*******************************************
MsgBox "Raporlama Tamamlandı", vbInformation, "Bilgi"
Set s1 = Nothing
Set s2 = Nothing
End Sub
 

Ekli dosyalar

Sayın Recep Bey,

Ellerinize sağlık çok ama çok teşekkür ederim.
 
Geri
Üst