我有一个包含详细信息表的Excel工作簿。我想从按钮按事件转换为Total表,但我不知道如何。这是详细信息表的设置方式
Employee -- Item -- Amt -- Sale Date
Joe Hat 10 2017-01-01
Joe Ball 04 2017-01-02
Joe Socks 06 2017-01-04
Joe Cap 11 2017-01-06
我希望Totals表只显示
Employee -- Total Sales
Joe 31
VBA会实现这个目标吗?
答案 0 :(得分:1)
可能是最简单的例子:
Option Explicit
Public Sub TestMe()
Range("C1") = WorksheetFunction.SumIf(Range("A1:A4"), "Joe", Range("B1:B4"))
End Sub
此外,您可以尝试将WorksheetFunction中的范围设置为变量并使其灵活。
答案 1 :(得分:0)
像Vityata建议的那样,你可以简单地使用数据透视表。
选择你的桌子。在“插入”选项卡上,选择“数据透视表”。
在Create PivotTable对话框中,应该已经选择了表格范围,所以只需单击OK。
在“数据透视表字段”窗格(右侧)中,选中“员工”,然后选中“Amt”。这应该将Employee放在Rows区域中,将Amt放在Values区域中。
在数据透视表结果中,将“行标签”标题重命名为“员工”,将“总和”重命名为“总销售额”。根据需要格式化“销售”列。将标题添加到单元格A1。
更新数据后,单击“数据透视分析”选项卡上的“刷新”按钮以刷新数据透视表。您还可能需要使用“更改数据源”按钮来增加源范围。有时将Table / Range设置为Sheet1!$ A:$ D更容易,然后单击“Employee”旁边的下拉列表,选择Sort AZ,对于Label Filters,选择“Is Not Equal”到“(blank)”