我有一个包含七个表(tbl_1、tbl_2 ...tbl_7)的电子表格,每个表都由自己的切片器控制。每个切片器有 6 个按钮(10、20、30、40、50、60)参考团队代码。我使用下面的代码在每个切片器上选择一个团队,然后为每个团队/切片器设置创建一个 PDF。截至目前,代码需要 5-7 分钟才能运行。任何帮助深表感谢。
Sub SlicerTeam()
Dim wb As Workbook
Dim sc As SlicerCache
Dim si As SlicerItem
On Error GoTo errHandler
Application.ScreenUpdating = False
Application.EnableEvents = False
Set wb = ThisWorkbook
For x = 1 To 6
For i = 1 To 7
Set sc = wb.SlicerCaches("tbl_" & i)
sc.ClearAllFilters
For Each si In sc.VisibleSlicerItems
Set si = sc.SlicerItems(si.Name)
If Not si Is Nothing Then
If si.Name = x * 10 Then
si.Selected = True
Else
si.Selected = False
End If
Else
si.Selected = False
End If
Next si
Next i
Call PDFCreate
Next x
exitHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True
Exit Sub
errHandler:
MsgBox ("Error in updating slicer filters.")
Resume exitHandler
End Sub