我正在尝试在Microsoft Office Excel 2013/2016中使用VBA中的小计功能。我使用以下代码:
'Copies mostly formatted Report to new Sheet for Report
'Sheets("Report").Select
Sheets("Report").Copy After:=Sheets(3)
Worksheets(4).Select
Worksheets(4).Name = "Report2"
'Modifies Date column to count days worked instead
Range("D1").FormulaR1C1 = "Days Worked"
Range("D2").Select
Range("D2").NumberFormat = "0"
Range("D2").FormulaR1C1 = "1"
Selection.AutoFill Destination:=Range("D2:D2500")
'Generates subtotals for Days Worked, Calls Taken, Call time, nextcallwaiting time, calls held, and time calls on hold
Worksheets(4).Activate
Range("E1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, -1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Delete
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Subtotal GroupBy:=3, Function:=xlSum, TotalList:=Array(4, 6, 8, 10 _
, 12, 14), Replace:=True, PageBreaks:=False, SummaryBelowData:=True
'ungroups these rows to allow easy data manipulation
Range("C1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Activate
Selection.Rows.Ungroup
Selection.Rows.Ungroup '
包含错误结果(未预期)的图片。 我希望Subtotals功能可以制作小计....可能它运行得太快而无法正确查找并添加相同的代理统计数据吗?
我希望以附加方式列出总数(参见" Days Worked"列。如果代理工作超过一天,它有多个" 1天工作"行,但在小计操作期间没有将它们组合在一起),但它不是像小计函数那样将列合计。我究竟做错了什么?此错误的解决方法是什么?
编辑:这已经解决了。要使用小计VBA,必须将分隔项/实体(在本例中为“代理名称”)组合在一起。因此,在列中,您必须对最大的>最小的,A> Z或类似的东西进行排序,以便这些类似的记录靠近 PRIOR 来执行小计VBA。感谢所有正在调查这个问题的人!