【发布时间】:2020-11-22 22:41:18
【问题描述】:
我正在尝试构建一串项目编号,然后将该字符串作为 OLAP 数据透视表的 .VisibleItemsList 传递。我看过各种关于此的帖子,我认为它运行良好,但我遇到了一些错误。简化代码如下:
Sub test()
Dim wks As Worksheet: Set wks = ThisWorkbook.Worksheets("test wks")
Dim ProjStr As String
wks.Activate
ProjStr = """[Project].[PROJECT_NUMBER].&[200283.0.001.01.000]"""
wks.PivotTables("pt_test").PivotFields( _
"[Project].[PROJECT_NUMBER].[PROJECT_NUMBER]").VisibleItemsList = Array(ProjStr) 'does not work
wks.PivotTables("pt_test").PivotFields( _
"[Project].[PROJECT_NUMBER].[PROJECT_NUMBER]").VisibleItemsList = Array("[Project].[PROJECT_NUMBER].&[200283.0.001.01.000]") 'works fine
End Sub
我正在对一个项目进行此尝试,但是当我构建一个包含多个项目的字符串时,出现“Query(1,52) The syntax for ',' is wrong”的运行时错误,第 52 个字符是第一个逗号。我将使用以下多个项目创建的字符串示例:
ProjStr = """[Project].[PROJECT_NUMBER].&[200283.0.001.01.000]""" & ", " & """[Project].[PROJECT_NUMBER].&[200283.0.001.02.000]"""
也就是说,据我所知,当我录制具有多个项目选择的宏时(除了所有换行符),ProjStr 的格式与代码相同。
有什么想法吗?谢谢
【问题讨论】:
-
我在这里看到了一个类似主题的帖子,但没有确定的解决方案:vbaexpress.com/forum/…
标签: excel vba pivot-table olap-cube