我被这个问题难住了 - 我目前正在自动化一个文件,我需要宏在这个特定选项卡中动态选择最新的日期切片器。我当前的代码正在选择切片器中列出的所有日期。
Sub maxdateslicer()
Sheets("FIP").Select
Application.ScreenUpdating = False
With ActiveWorkbook.SlicerCaches("slicer_Execution_Date1")
.ClearManualFilter
For Each myitem In .SlicerItems
myitem.Selected = CDate(myitem.Name) = Date - 1
Next myitem
End With
Application.ScreenUpdating = True
一种方法可能是按升序对切片器进行排序(实际上,默认排序是按升序排序),然后将每个项目的 Selected 属性设置为 False,除了最后一项...
Sub maxdateslicer()
Application.ScreenUpdating = False
Dim slicerIndex As Long
With ActiveWorkbook.SlicerCaches("Slicer_Date")
.ClearManualFilter
.SortItems = xlSlicerSortAscending
For slicerIndex = 1 To .SlicerItems.Count - 1
.SlicerItems(slicerIndex).Selected = False
Next slicerIndex
End With
Application.ScreenUpdating = True
End Sub