如何更改Excel数据透视表的源数据

时间:2011-08-07 19:39:27

标签: .net vb.net excel exception excel-vba vba

旨在实现: 我想使用VB.Net将我在数据透视表中的源数据更改为命名范围。

我有:

table.ChangePivotCache(wb.PivotCaches.Create(SourceType:=Excel.XlPivotTableSourceType.xlDatabase, SourceData:=sheet.Names("name_of_NamedRange").RefersToRange))

例外:

The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))

2 个答案:

答案 0 :(得分:1)

你确定sheet.Names("name_of_NamedRange").Value是指一个范围吗?

答案 1 :(得分:0)

SourceData需要是一个包含地址的字符串,包括工作表名称,如“我的工作表”!A1:B10。试试这个:

table.ChangePivotCache(wb.PivotCaches.Create(SourceType:=Excel.XlPivotTableSourceType.xlDatabase, SourceData:=sheet.Names("name_of_NamedRange").RefersToRange.Address(External:=True)))