我怀疑一张工作表可以有多个数据透视表吗?如果是这样,有没有办法在工作表中定义他们的名字?
我编写了以下代码来更新/刷新在不同工作表上定义的数据透视表,但出现以下错误:
Dim objExcel1,strPathExcel1
Dim objSheet1,objSheet2,objSheet3
Set objExcel1 = CreateObject("Excel.Application")
strPathExcel1 = "D:\AravoVB\Copy of Original Scripts\CopyofGEWingtoWing_latest_dump_21112012.xls"
objExcel1.Workbooks.open(strPathExcel1)
Set objSheet1 = objExcel1.ActiveWorkbook.Worksheets("Business Process Matrix")
Set objSheet2 = objExcel1.ActiveWorkbook.Worksheets("Workflow Status Matrix")
Set objSheet3 = objExcel1.ActiveWorkbook.Worksheets("Business Hierarchy Martix")
objSheet1.PivotTables(1).PivotCache.Refresh
objSheet2.PivotTables(1).PivotCache.Refresh
objSheet3.PivotTables(1).PivotCache.Refresh
错误: 下标超出范围
你能帮我吗?
更新
我有以下格式的数据 Excel 表:
Name Fruits Condition of Fruits
===== ====== ====================
Ram Apple Good
Jadu Apple Bad
Tina Orange Good
Ram Orange Good
Tina Apple Bad
Ram Apple Bad
Pivot 程序在同一个 excel 的另一张表中的输出,比如在 sheet(2) 中应该是这样的:
Name Fruits Condition of Fruits
==== ====== ===================
Good Bad Total
==== ===== ======
Ram Apple 1 1 2
Ram Orange 1 0 1
Tina Apple 0 1 1
Tina Orange 1 0 1
jadu Apple 0 1 1
===================================
Grand Total 3 3 6
===================================
上述格式需要存在于工作表 (2) 的 Excel 中,只要工作表 (1) 中包含源数据,如第一个表所示。
我希望使用 Excel 数据透视表概念创建宏程序。
您能否为上述 Pivot 创建建议任何代码设置?
谢谢