Я новичок VBA, так что терпите меня.2 вещи, с которыми я сталкиваюсь с трудностями в макросе Excel VBA.(Я работаю с кубами OLAP)
(1) Я пытаюсь перебирать элементы внутри слайсера, но не хочу перебирать элементы без данных.Как мне сделать это с помощью VBA?
Я могу перебирать КАЖДЫЙ элемент в слайсере - но это не то, чего я хочу.
(2) как мне перевести итерацию в ОСТАНОВКУКак только я достигну конца списка, он не станет бесконечным циклом?
Вот фрагмент моего кода:
Dim wb As Workbook
Dim slItem As SlicerItem
Dim slItem2 As SlicerItem
Dim sc3 As SlicerCache
Dim sc3L As SlicerCacheLevel
Set wb = ActiveWorkbook
Set sc3 = wb.SlicerCaches("Slicer_Primary_Account_List_Combo__BI")
Set sc4 = wb.SlicerCaches("Slicer_TM_Hierarchy")
sc3L.CrossFilterType = xlSlicerCrossFilterHideButtonsWithNoData '' 'новая строка кода, позволяющая мне использовать .HasData
> ''' Select the first item within the slicer then iterate through them
>
> ''' ensure the iteration is only done on items with data - Need to
> figure this out! Use the .HasData property
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)
MsgBox (slItem.Value)
End If
Next