У меня есть несколько сводных таблиц, где фильтры столбцов: «Март цикла-2020», «Февраль цикла-2020» и т. Д. c. Каждый месяц вместо того, чтобы менять фильтры во всех моих сводных таблицах, я писал такой код:
Dim current_cycle, last_cycle, last_last_cycle As string
current_cycle = "Mar RPM"
last_cycle = "Feb RPM"
last_last_cycle = "end-Jan rpm"
Sheets("Profit").Select
With ActiveSheet.PivotTables("Pivot 1").PivotFields("Version")
PivotItems(last_last_cycle).Visible = False
PivotItems(last_cycle).Visible = True
PivotItems(current_cycle).Visible = True
End With
Каждый раз, когда моя сводная исходная таблица получает данные нового месяца, скажем, у меня сегодня «апрельские обороты в минуту», у меня есть вручную изменить строковые переменные current_cycle, last_cycle and last_last_cycle
. Вместо этого, помогает ли VBA в получении текущего месяца как функция =MONTH()
? И добавьте его в мою строку current_month
, last_cycle
и измените ее с марта RPM, февраля RPM на апрель RPM, март RPM соответственно?