Хорошо, мастера VBA! Снова новичок. Работа с данными OLAP Cube.
На этот раз я застрял в попытке автоматически выбрать элемент среза (из другой группы срезов) на основе ранее выбранного элемента среза из другой группы.
Чтобы придать контекст, я пытаюсь выбрать одного и того же человека в двух разных слайсерах. Чтобы усложнить задачу, срезы используют разные дескрипторы для людей - то есть «Смит, Боб» используется в одном срезе, а «123C - Смит, Боб» - в другом.
Вот мой код:
Dim wb As Workbook
Dim slItem As SlicerItem
Dim slItem2 As SlicerItem
Dim sc3 As SlicerCache
Dim sc3L As SlicerCacheLevel
Dim sc4 As SlicerCache
Dim sc4L As SlicerCacheLevel
Set wb = ActiveWorkbook
Set sc3 = wb.SlicerCaches("Slicer_Primary_Account_List_Combo__BI")
Set sc4 = wb.SlicerCaches("Slicer_TM_Hierarchy")
Set sc3L = sc3.SlicerCacheLevels(1)
Set sc4L = sc4.SlicerCacheLevels(3)
sc3L.CrossFilterType = xlSlicerCrossFilterHideButtonsWithNoData
' Select the first person within the Sales Cube slicer
' This selects each slicer item in the Sales Cube and iterates through them
For Each slItem In sc3L.SlicerItems
If slItem.HasData Then ''' This ensures the iteration is only on items with data
sc3.ClearManualFilter
sc3.VisibleSlicerItemsList = Array(slItem.Name)
End If
Next
' Now ensure the same person is also selected within the BM Cube slicer
For Each slItem2 In sc4L.SlicerItems
sc4.ClearManualFilter ''' CODE WORKS UP TO HERE
If slItem2.Value = Mid(slItem.Value, 8, 30) Then ''' I am trying to force the selection on the second slicer by looking for the name match. But this is NOT working. BREAKPOINT.
slItem2.Selected = True
End If
Next
Я получаю ошибку времени выполнения 1004 в точке останова. Сказать, что это ошибка, определяемая приложением или объектом.
Я слишком долго пытался исправить этот фрагмент кода - и мне нужен ваш опыт!
Конечная цель: мне нужен только 1 человек, выбранный на каждой итерации. И мне нужно, чтобы на обоих слайсерах был выбран один и тот же человек.
И иди!
"[Servicio].[CodigoServicio].&[" & C & "]"
? И, во-вторых, все ли ваши предметы на другом кубе похожи на - отделить число от имени? - person Damian   schedule 03.06.2019