2

我正在处理一个 Excel 工作簿,该工作簿在一个大表中包含大量条目,所有条目均按日期排序。我插入了一个滑块,以便更轻松地按月查看数据,但现在我想做的是自动选择滑块选项。

例如。

我的一个工作表旨在显示一个月摘要,所有总数等都是根据日期使用 SUMIF 计算的,因此只计算当前月份的数据,现在在该工作表上我还想包含一个切片器那几个月的条目,很容易,但我希望自动选择当前月份,如果在选择每月报表后他们会自动收到大部分信息,但随后必须为报表的其他部分选择他们之后的月份,这会让人感到困惑。所以我想要的是一种让切片器默认为另一个单元格中设置的值的方法。

4

1 回答 1

1

您可以使用.Sliceritems(iIndex).selected来定义选择的内容。

假设您的标签是日期,这是设置选择的一种方式

Sub Macro1()

Dim lIndex As Long
Dim lLoop As Long

    With ActiveWorkbook.SlicerCaches("Slicer_NumEntered")
    lIndex = .SlicerItems.Count
        For lLoop = 1 To lIndex
            If CDate(.SlicerItems(lLoop).Name) < CDate("5/1/2012") Then
                .SlicerItems(lLoop).Selected = True
            Else
                .SlicerItems(lLoop).Selected = False
            End If
        Next
    End With
End Sub

这可以改进 - 日期测试是可怕的,并且可以大大改进。此外,如果您可以让测试简单地返回真/假,那么您可以删除if/then/else, 并放入

.SlicerItems(lLoop).Selected = YourTest

反而

于 2012-08-13T15:22:47.390 回答