У меня есть сводная таблица, которая фильтруется с помощью сводного среза с полем даты.
На другом листе у меня есть 12-месячный пример диапазона дат из ячейки A1: A12.
У меня есть код, который проходит через слайсер и пытается сопоставить что в слайсере по сравнению с диапазоном. В идеале я хотел бы, чтобы слайсер затем выбирал только те значения, которые существуют в диапазоне A1: A12. Код ниже запускается, но выбирает все после завершения цикла.
Есть идеи?
Sub DateSelect()
Dim ws As Worksheet
Dim i As Integer, iLookupColumn As Integer
Dim sl As SlicerCache
Dim sDate As String
Set sl = ThisWorkbook.SlicerCaches("Slicer_Month_and_Year")
Set ws = ThisWorkbook.Sheets("Macro")
For i = 1 To sl.SlicerItems.Count
sDate = sl.SlicerItems(i).Name
If IsError(Application.Match(sDate, ws.Range(ws.Cells(1, 14), ws.Cells(13, 14)), 0)) Then
ThisWorkbook.SlicerCaches("Slicer_Month_and_Year").SlicerItems(i).Selected = False
Else
ThisWorkbook.SlicerCaches("Slicer_Month_and_Year").SlicerItems(i).Selected = True
End If
Next i
End Sub