Я столкнулся с проблемой при фильтрации среза сводной таблицы на основе OLAP с элементами из массива.
У меня есть массив, состоящий из номеров машин, идентичных заголовкам элементов среза, который выглядит следующим образом:
machines = Array("Machine1", "Machine2", "Machine3" etc.. )
, и я хочу использовать этот массив для фильтрации слайсера, используя:
ActiveWorkbook.SlicerCaches("MachinesSlicer").VisibleSlicerItemsList = Array(machines)
И он работает нормально, пока не будетномер машины в массиве, который не виден в элементах слайсера (например, из-за фильтрации других слайсеров, таких как дата и т. д.).Есть ли способ обойти те элементы, которые вызывают проблему?
Я пытался создать новый массив, просматривая элементы среза и сравнивая их с элементами массива, используя:
For Each machName In machines
For Each si1 In sl1.SlicerItems
If si1.Caption = machName Then
TestArray = TestArray & Chr(34) & si1.Caption & Chr(34) & Chr(44)
End If
Next si1
Next machName
Но он создает массив, в котором есть один элемент, представляющий собой строку, похожую на:
"Machine1", "Machine2", Machine3" ...etc
Но мне нужно разделить эти элементы, чтобы передать ихв VisibleSlicerItemList.
Возможно, некоторые из вас будут иметь представление о том, как решить эту проблему.Любая помощь будет оценена, спасибо!