2013-02-21 126 views
0

我有一个Excel数据透视表链接我的Word报告。 获得更多数据时,数据透视表将会增长。但是,当数据透视表大小更改时,它不会反映在Word文件中。 word文件始终显示原始选定范围。所以我必须手动更新链接范围。链接Excel对象/范围在Word中的动态范围

有没有办法解决这个问题或简单的努力?

非常感谢。

+0

我在这个链接中发现了同样的问题,但答案不适用于我。我无法再将透视表设置为另一个Excel表格。解决方案是否有效?有人可以帮忙吗?我真的需要这项工作来快速整合Excel报表。非常感谢你。 http://superuser.com/questions/177238/how-to-link-to-an-excel-pivot-table-that-will-expand-over-time-in-word-2007 – user2020514 2013-03-17 08:13:24

+0

找到解决方法:1.定义数据透视表的命名范围。 2.使用偏移功能获取数据透视表范围。 – user2020514 2013-03-19 10:03:07

回答

0

下面是我的解决方案来解决这个问题。 1.为数据透视表创建一个命名范围。 2.更改在Word文件中的链接范围绝对地址的命名范围

================

注1: 创建命名范围的数据透视表可以通过Excel“Offset”功能完成。 但是,当相同工作表中有更多数据时,偏移功能并不完美。 所以我创建了我自己的Excel函数。

Function PVRange1(Sheet_Name, Pivot_Name) As Range 
'Returns a Range object that represents the range containing the entire PivotTable report, but doesn’t include page fields. 
' 
Dim pvt As PivotTable 

Set pvt = Worksheets(Sheet_Name).PivotTables(Pivot_Name) 
Set PVRange1 = pvt.TableRange1 

End Function 


Function PVRange2(Sheet_Name, Pivot_Name) As Range 
'Returns a Range object that represents the range containing the entire PivotTable report, including page fields. 

Dim pvt As PivotTable 

Set pvt = Worksheets(Sheet_Name).PivotTables(Pivot_Name) 
Set PVRange2 = pvt.TableRange2 

End Function