将数据添加到工作簿内具有可变范围的数据模型

问题描述 投票:0回答:1

我有一个问题。当我的源数据位于我的工作簿中,但数据范围每个月都会不同,并且我没有使用数据的表格格式而是正常范围时,如何在此数据模型中使用变量。我的代码如下所示: 我还担心引号和与号,或者是否有其他方法可以合并我的数据范围的地址或范围?

任何回应都将受到高度赞赏。谢谢!

我尝试借助数据模型从数据集中获取不同的计数信息,但是我无法编写适当的代码,特别是参数部分中的动态范围。我想知道是否可以使用相对或绝对引用或其他变量来定义数据范围。

这是代码:

`Dim myrange As String
myrange = Sheets("EKPO").Range("A1").CurrentRegion.Address

Workbooks("Book1").Connections.Add2 "WorksheetConnection_EKPO!" & myrange,
, "", "WORKSHEET;\[Book1\]EKPO!" & myrange, "EKPO!" & myrange, 7, True, False
ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:=
ActiveWorkbook.Connections("WorksheetConnection_EKPO!" & myrange), Version
:=8).CreatePivotTable TableDestination:="Data model!R1C1", TableName:=
"PivotTable2", DefaultVersion:=8`
excel vba variables pivot-table datamodel
1个回答
0
投票

你的问题相当复杂,我会尽力回答每个部分。

  1. 用“&”连接数据对我来说总是有好处。因此,您可以使用事先初始化的变量来存储值,以便于调试。另外,如果您的范围始终相同,您还可以直接在连接字符串中使用“EKPO!A1”修复它,而不使用地址。

  2. 您绝对可以使用相对或绝对引用。就我个人而言,我更喜欢尽可能使用绝对,并且我设法使我的工作表尽可能干净,以便我的绝对引用保持不变。使用相对引用非常强大,因此,如果您的工作表发生任何更改(如果共享,则可能会发生),那么您的引用将会移动,并且可能会发生奇怪的行为。

也许如果您有一个精确的用例可以分享,我可以更准确地回答您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.