- Katılım
- 1 Ekim 2010
- Mesajlar
- 10
- Excel Vers. ve Dili
- excel xp
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Merhaba,
F:I sütunları arasındaki özet tabloyu nasıl oluşturduğunuzu anlayamadım, mantığını daha detaylı açıklayınız.
Buraya kadar anladım.
Peki, İzmir-Can 12. ve 20. satırda Grup 1 olarak 2 farklı bölüm de var. Neden rapor kısmında İzmir-Can-Grup1 kısmında 1 yazıyor.
Halbuki İzmir ve Can 2 ayrı satırda 2 defa grup1 için satış yapmış 1+1 den 2 olmayacak mı. Yoksa her şartta 1 mi olacak.
Detaylı açıklayın derken bunlardan bahsetmiştim.
Sub Ozet_Rapor()
Dim d As Object, i As Long, sat As Long, deg, s, a1, a2, k
Set d = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
Range("F2:I" & Rows.Count).Clear
For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
deg = Cells(i, "B") & "|" & Cells(i, "C")
If Not d.exists(deg) Then
If Cells(i, "D") = 1 Then
s = Array(1, 0)
Else
s = Array(0, 1)
End If
d.Add deg, s
Else
s = d.Item(deg)
If Cells(i, "D") = 1 Then
s(0) = 1
Else
s(1) = 1
End If
d.Item(deg) = s
End If
Next i
a1 = d.keys: a2 = d.items: sat = 2
For i = 0 To d.Count - 1
k = Split(a1(i), "|")
Cells(i + sat, "F") = k(0)
Cells(i + sat, "G") = k(1)
s = a2(i)
Cells(i + sat, "H") = s(0)
Cells(i + sat, "I") = s(1)
Next i
Range("F2:I" & i + 1).Sort Key1:=Range("F2"), Order1:=xlAscending, _
Key2:=Range("G2"), Order2:=xlAscending
Application.ScreenUpdating = True
End Sub
Hocam tşkler ama bunu fonksiyonlarla yapma imkanı varmı ?