Я пытаюсь создать строку номеров проектов, а затем передать эту строку как .VisibleItemsList сводной таблицы OLAP. Я видел различные сообщения об этом, где я считаю, что это сработало нормально, но я получаю некоторые ошибки. Упрощенный код ниже:
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
Я получаю эту ошибку: введите описание изображения здесь
Я пробую это с одним проектом, но когда я создаю строку из нескольких проектов, я получаю ошибку времени выполнения «Запрос (1,52) Синтаксис для ',' неверен» 52-й символ - первая запятая. Пример строки, которую я создал бы с несколькими проектами ниже:
ProjStr = """[Project].[PROJECT_NUMBER].&[200283.0.001.01.000]""" & ", " & """[Project].[PROJECT_NUMBER].&[200283.0.001.02.000]"""
Тем не менее, из всего, что я могу сказать, ProjStr отформатирован так же, как и код, когда я записываю макрос с выбором нескольких проектов (кроме всех разрывов строк).
Есть идеи? Спасибо