VBA Pivot Filtering - VisibltItemList - источники данных из другой вкладки? - PullRequest
0 голосов
/ 28 мая 2019

Итак, я пытаюсь сделать так, чтобы сводная таблица была отфильтрована по списку определенных элементов, а эти элементы взяты из массива, созданного путем извлечения значений из столбца в другой таблице.

У меня все вышеперечисленное работает!...вроде, как бы, что-то вроде.Он работает, когда я проверяю его, получая коды клиентов из того же источника данных, из которого извлекается сводная таблица.

Однако, как только я изменяю свой код, вместо этого извлекаю значения из отдельной вкладки со столбцом значений я получаю сообщение об ошибке:


Ошибка времени выполнения «1004»: элемент не найден в кубе OLAP.


Вот код, который у меня сейчас есть:


Sub FilterByColumnValues()

'set variables
Dim MyArray As Variant
Dim OGDataRange As Range, OGDataLastRow As Long

'Create range from customer tab list
OGDataLastRow = Worksheets("Custs-Chico").Range("D2").End(xlDown).Row
Set OGDataRange = Worksheets("Custs-Chico").Range("D2:D" & OGDataLastRow)

'Test array
'MyArray = OGDataRange.Value
MyArray = Application.Transpose(OGDataRange.Value)
MsgBox "Here is a preview of my array: " & Chr(10) & Join(MyArray, Chr(10))


Worksheets("QTD Sales").PivotTables("QTD_Pivot_By_Category").PivotFields("[Range].[CustCode].[CustCode]").VisibleItemsList = MyArray


End Sub


Массив предварительного просмотра выглядит великолепно.Элементы отображаются как "[Range]. [CustCode]. & [####]", #### - мои коды клиентов.Вот так:

Array Preview

"Custs-Chico" - моя вкладка с плоскими несвязанными данными.Если я просто изменю это значение на вкладку «DATA QTD», , которая является вкладкой, которая является источником данных для моей сводной таблицы, то код работает !

Так что мой вопрос... как мне обойти эту ошибку?Мне нужно отфильтровать по определенному списку элементов на другой вкладке, а не по каждому элементу, уже находящемуся в списке / подключенном источнике данных / "кубе OLAP" (извините, не очень хорошее понимание структур данных здесь с OLAP), что сводит на нетсуть целиком.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...