VBA取消select全部,然后根据切片器中的列表select值

我试图取消select切片机中的所有预设值,然后根据将在每天更新的列表select值。 我设法写下面的代码,但是由于我的预设列表很长,所以它运行得非常慢。 有没有办法让以下运行更快?

Sub cmdTop10PrioritySlicer() Dim i As Integer Dim MemberID As String Application.ScreenUpdating = False ThisWorkbook.SlicerCaches("Slicer1").ClearManualFilter 'Deselect all prior set values For Each slc In ThisWorkbook.SlicerCaches("Slicer1").SlicerItems slc.Selected = False Next slc 'Select values in Slicer based on Top 10 Priority List For i = 1 To 10 ID = ThisWorkbook.Worksheets("Summary").Range("A" & 57 + i).Value ThisWorkbook.SlicerCaches("Slicer1").SlicerItems(ID).Selected = True Next i Application.ScreenUpdating = True End Sub