Excel VBA将细节汇总到汇总表

我有一个Excel工作簿,有一个详细信息表。 我想从button按下事件转换成一个总表,但我不知道如何。 这是如何设置明细表

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 

我想要总计工作表才能显示

 Employee -- Total Sales Joe 31 

什么VBA会实现这一目标?

可能是最简单的例子:

 Option Explicit Public Sub TestMe() Range("C1") = WorksheetFunction.SumIf(Range("A1:A4"), "Joe", Range("B1:B4")) End Sub 

此外,您可以尝试将WorksheetFunction中的范围设置为variables并使其变得灵活。

在这里输入图像说明

就像Vityatabuild议的那样,您可以简单地使用数据透视表。

select你的桌子。 在插入选项卡上,select数据透视表。

在“创build数据透视表”对话框中,您的表格范围应该已经被选中,所以只需单击“确定”即可。

在数据透视表字段窗格(右侧)中,选中Employee,然后selectAmt。 这应该把员工放在行区域和价值区域的金额。

在数据透视表结果中,将“行标签”标题重命名为“员工”和“总金额”到“总销售额”。 根据需要格式化“销售”列。 将标题添加到单元格A1。

更新数据时,单击数据透视表分析选项卡上的“刷新”button刷新数据透视表。 您也可能需要使用“更改数据源”button来增加源范围。 有时只需将Table / Range设置为Sheet1!$ A:$ D,然后单击“Employee”旁边的下拉列表,selectSort AZ和Label Filtersselect“Does Not Equal”为“(blank)”