Есть сводная таблица, которая подтягивает значения, по выбранному одному условию - месяцу в виде числа. Написал макрос, который должен переключать этот месяц в зависимости от выбранного в форме. Но если после добавления в основную таблицу добавились данные по новому месяцу, то этот новый месяц упорно не хочет выводит, и кричит об ошибке. Когда вручную поменяешь месяц, то все после этого работает. К примеру: сейчас надо впервые сделать отчет за октябрь, данные в основную таблицу вбиты, но в сводной еще не запрашивались и там стоит сентябрь. Запускаю макрос, и он выдает ошибку. Переключил на октябрь в ручную в сводной таблице и макрос теперь спокойно выводит и октябрь, и сентябрь, и если снова запрошу октябрь, то выведет его. Где я мог ошибиться: [vba]
Код
With Sheets("1") .Cells(7, 2) = mes.ListIndex + 1 .Cells(7, 2) = CStr(.Cells(7, 2)) Dim mec As String mec = .Cells(7, 2) End With Sheets("Круг исправный месяц").Activate ActiveWorkbook.RefreshAll ActiveSheet.PivotTables("СводнаяТаблица16").PivotFields("Месяц").CurrentPage = mec
[/vba] P.S. Файл с примером выложить не могу, уж больно объемный он.
Есть сводная таблица, которая подтягивает значения, по выбранному одному условию - месяцу в виде числа. Написал макрос, который должен переключать этот месяц в зависимости от выбранного в форме. Но если после добавления в основную таблицу добавились данные по новому месяцу, то этот новый месяц упорно не хочет выводит, и кричит об ошибке. Когда вручную поменяешь месяц, то все после этого работает. К примеру: сейчас надо впервые сделать отчет за октябрь, данные в основную таблицу вбиты, но в сводной еще не запрашивались и там стоит сентябрь. Запускаю макрос, и он выдает ошибку. Переключил на октябрь в ручную в сводной таблице и макрос теперь спокойно выводит и октябрь, и сентябрь, и если снова запрошу октябрь, то выведет его. Где я мог ошибиться: [vba]
Код
With Sheets("1") .Cells(7, 2) = mes.ListIndex + 1 .Cells(7, 2) = CStr(.Cells(7, 2)) Dim mec As String mec = .Cells(7, 2) End With Sheets("Круг исправный месяц").Activate ActiveWorkbook.RefreshAll ActiveSheet.PivotTables("СводнаяТаблица16").PivotFields("Месяц").CurrentPage = mec
[/vba] P.S. Файл с примером выложить не могу, уж больно объемный он.Паштет
Возможно, макрос и не нужен. Достаточно в конструкторе сводной таблицы добавить фильтр по столбцу с номерами месяцев. Далее можно уже настраивать фильтр по нужному месяцу/месяцам.
Возможно, макрос и не нужен. Достаточно в конструкторе сводной таблицы добавить фильтр по столбцу с номерами месяцев. Далее можно уже настраивать фильтр по нужному месяцу/месяцам.NikitaDvorets
У меня очень большой проект по обработке статистики, который потом формируется в презентацию, управление идет через форму, поэтому хочется, чтобы нажал одну кнопку, чуточку подождал и забрал конечный продукт
У меня очень большой проект по обработке статистики, который потом формируется в презентацию, управление идет через форму, поэтому хочется, чтобы нажал одну кнопку, чуточку подождал и забрал конечный продукт Паштет
Тогда, действительно, нужен макрос, на основе, например: https://access-excel.tips/multiple-criteria-in-label-filter-pivot-table/ если знакомы с английским.
Тогда, действительно, нужен макрос, на основе, например: https://access-excel.tips/multiple-criteria-in-label-filter-pivot-table/ если знакомы с английским.NikitaDvorets