我如何遍历每个切片器项目,但排除那些没有数据的项目-在VBA中?

时间:2019-05-30 17:24:28

标签: excel vba slicers

我是vba新手,所以请多多包涵。 我在Excel VBA宏中遇到的2件困难。 (我正在使用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

0 个答案:

没有答案