Я не могу заставить макрос запускаться автоматически при выборе элемента в слайсере (из диаграммы).Я попытался добавить код в частную подпрограмму или даже в публичную функцию, но все еще не могу получить щелчок / выделение элемента в слайсере для запуска макроса.Я протестировал sub Slicer_Opt, и он работает, когда у меня выбран элемент, и я запускаю его вручную, но, как я уже сказал, я не могу заставить его автоматически срабатывать при выборе элемента в слайсере.До сих пор у меня есть следующее:
Public Function ClickedSlicerItem(ByRef SlicerOpt1)
Call Slicer_Opt
End Function
Sub Slicer_Opt()
Dim LastMonth As String
Dim MiddleMonth As String
Dim FirstMonth As String
Dim Date1 As Date
Dim MonthMax As String
Dim MinMonth As Date
Dim SlicerMthCache As SlicerCache
Dim SlicerOpt1 As SlicerItem
Date1 = WorksheetFunction.Max(Sheets("Activity Log").Range("H:H"))
MinMonth = WorksheetFunction.Min(Sheets("Activity Log").Range("H:H"))
MonthMax = Month(Date1)
LastMonth = MonthName(MonthMax, True)
MiddleMonth = MonthName(MonthMax - 1, True)
FirstMonth = MonthName(MonthMax - 2, True)
If SlicerOpt1.ActiveItem Is Not Null Then
Application.ScreenUpdating = False
If ActiveWorkbook.SlicerCaches("Slicer_Last_Log_in").SlicerItems(LastMonth).Selected = True Then
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartType = xlBarClustered
ElseIf ActiveWorkbook.SlicerCaches("Slicer_Last_Log_in").SlicerItems(MiddleMonth).Selected = True Then
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartType = xlBarClustered
ElseIf ActiveWorkbook.SlicerCaches("Slicer_Last_Log_in").SlicerItems(FirstMonth).Selected = True Then
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartType = xlBarClustered
End If
Application.ScreenUpdating = True
Else: ActiveChart.ChartType = xlBarStacked100
End If
End Sub