|
求用VBA进行分类汇总的方法,效果如附件,谢谢
- Sub gd()
- Dim arr, adS$
- Sheets("2015").Copy after:=Sheets(Sheets.Count)
- arr = ActiveSheet.UsedRange
- For a = UBound(arr) To 4 Step -1
- If arr(a, 16) <> "" Then
- tmp = arr(a, 16)
- t = a - 1
- Do Until arr(t, 16) <> tmp
- t = t - 1: If t < 4 Then Exit Do
- Loop
- Rows(a + 1).Insert: Cells(a + 1, "p") = tmp & " 汇总"
- Cells(a + 1, "f").Resize(1, 10).Formula = "=sum(f" & a & ":f" & t + 1 & ")"
- a = t + 1
- End If
- Next
- arr = ActiveSheet.UsedRange
- For a = 4 To UBound(arr)
- If InStr(arr(a, 16), "汇总") Then: adS = adS & "f" & a & ","
- Next
- Cells(UBound(arr), "f").Resize(1, 10).Formula = "=sum(" & adS & ")"
- End Sub
复制代码
|
|