DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub ÖZET_RAPOR()
Dim S1 As Worksheet, S2 As Worksheet
Dim X As Long, Y As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set S1 = Sheets("Fiş Raporu")
Set S2 = Sheets("Sonuç")
S2.Select
S2.Range("C1:" & Cells(Rows.Count, Columns.Count).Address(0, 0)).ClearContents
S1.Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=S1.Range("F1"), Unique:=True
S1.Range("F2:F" & S1.Cells(Rows.Count, "F").End(3).Row).Sort S1.Range("F2"), xlAscending
S1.Range("F2:F" & S1.Cells(Rows.Count, "F").End(3).Row).Copy
S2.Range("C1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Range("A1").Select
For X = 3 To S2.Cells(Rows.Count, 1).End(3).Row
If S2.Cells(X, 1) <> "" Then
For Y = 3 To S2.Cells(1, Columns.Count).End(1).Column
S1.Range("A1:D" & Rows.Count).AutoFilter Field:=1, Criteria1:=S2.Cells(X, 1)
S1.Range("A1:D" & Rows.Count).AutoFilter Field:=2, Criteria1:=S2.Cells(1, Y)
S1.Range("A1:D" & Rows.Count).AutoFilter Field:=3, Criteria1:=S2.Cells(X, 2)
S2.Cells(X, Y) = WorksheetFunction.Subtotal(3, S1.Range("A2:A1048576"))
Next
End If
Next
S1.Range("A1").AutoFilter
S1.Range("F:F").ClearContents
Set S1 = Nothing
Set S2 = Nothing
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub