Excel VBA 将细节加总 Sheet
Excel VBA To Take Details To Totals Sheet
我有一个 Excel 工作簿,其中包含详细信息 sheet。我想从按钮按下事件将其转换为总计 sheet,但我不确定如何。这就是细节 sheet 的设置方式
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
我希望总计 sheet 只显示
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中的范围设置为变量并使其灵活。
如 Vityata 所建议的那样,您可以简单地使用数据透视表。
Select 你的 table。在“插入”选项卡上,select 数据透视表。
在“创建数据透视表”对话框中,您的 table 范围应该已经 select 编辑,因此只需单击“确定”。
在“数据透视表字段”窗格(右侧)中,选中员工,然后选中金额。这应该将 Employee 放入 Rows 区域,将 Amt 放入 Values 区域。
在数据透视表结果中,将 "Row Labels" 标题重命名为 "Employee",将 "Sum of Amt" 重命名为 "Total Sales"。根据需要格式化销售列。向单元格 A1 添加标题。
更新数据后,单击“数据透视表分析”选项卡上的 "Refresh" 按钮刷新数据透视表。您可能还需要使用 "Change Data Source" 按钮扩大源范围。有时将 Table/Range 设置为类似 Sheet1!$A:$D 的内容会更容易,然后单击 "Employee"、select 排序 A-Z 和标签过滤器旁边的下拉菜单select "Does Not Equal" 到“(空白)”
我有一个 Excel 工作簿,其中包含详细信息 sheet。我想从按钮按下事件将其转换为总计 sheet,但我不确定如何。这就是细节 sheet 的设置方式
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
我希望总计 sheet 只显示
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中的范围设置为变量并使其灵活。
如 Vityata 所建议的那样,您可以简单地使用数据透视表。
Select 你的 table。在“插入”选项卡上,select 数据透视表。
在“创建数据透视表”对话框中,您的 table 范围应该已经 select 编辑,因此只需单击“确定”。
在“数据透视表字段”窗格(右侧)中,选中员工,然后选中金额。这应该将 Employee 放入 Rows 区域,将 Amt 放入 Values 区域。
在数据透视表结果中,将 "Row Labels" 标题重命名为 "Employee",将 "Sum of Amt" 重命名为 "Total Sales"。根据需要格式化销售列。向单元格 A1 添加标题。
更新数据后,单击“数据透视表分析”选项卡上的 "Refresh" 按钮刷新数据透视表。您可能还需要使用 "Change Data Source" 按钮扩大源范围。有时将 Table/Range 设置为类似 Sheet1!$A:$D 的内容会更容易,然后单击 "Employee"、select 排序 A-Z 和标签过滤器旁边的下拉菜单select "Does Not Equal" 到“(空白)”