ex
Дата: Воскресенье, 31.07.2022, 23:31 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Добрый день! Есть отчет с большим кол-во сводных таблиц, который я регулярно перестраиваю. Соответственно, мне надо зайти в фильтр каждой сводной и поменять дату на новую. Решил попробовать делать это макросом. Записал его через функцию "Запись макроса" (пример для одной сводной ниже, в данном случае я меняю дату на 31.07.22). Мне бы хотелось, чтобы новую дату макрос брал из ячейки А1 на листе "Даты", этот лист находится в той же книге. Т.е. мне не надо будет вносить изменения в макрос, а просто потребуется поменять дату в ячейке A1. Подскажите, пожалуйста, как это прописать в макросе. Заранее спасибо! Файл не прикладываю, поскольку сводная из отчета все равно не будет работать без подключения.
Sub Макрос5()
'
' Макрос5 Макрос
'
'
ActiveSheet.PivotTables("Сводная таблица4" ).PivotFields( _
"[DimDate].[Year-Month-Date].[Year]" ).VisibleItemsList = Array ("" )
ActiveSheet.PivotTables("Сводная таблица4" ).PivotFields( _
"[DimDate].[Year-Month-Date].[Month]" ).VisibleItemsList = Array ("" )
ActiveSheet.PivotTables("Сводная таблица4" ).PivotFields( _
"[DimDate].[Year-Month-Date].[Date]" ).VisibleItemsList = Array ( _
"[DimDate].[Year-Month-Date].[Date].&[2022-07-31T00:00:00]" )
End Sub
Добрый день! Есть отчет с большим кол-во сводных таблиц, который я регулярно перестраиваю. Соответственно, мне надо зайти в фильтр каждой сводной и поменять дату на новую. Решил попробовать делать это макросом. Записал его через функцию "Запись макроса" (пример для одной сводной ниже, в данном случае я меняю дату на 31.07.22). Мне бы хотелось, чтобы новую дату макрос брал из ячейки А1 на листе "Даты", этот лист находится в той же книге. Т.е. мне не надо будет вносить изменения в макрос, а просто потребуется поменять дату в ячейке A1. Подскажите, пожалуйста, как это прописать в макросе. Заранее спасибо! Файл не прикладываю, поскольку сводная из отчета все равно не будет работать без подключения.
Sub Макрос5()
'
' Макрос5 Макрос
'
'
ActiveSheet.PivotTables("Сводная таблица4" ).PivotFields( _
"[DimDate].[Year-Month-Date].[Year]" ).VisibleItemsList = Array ("" )
ActiveSheet.PivotTables("Сводная таблица4" ).PivotFields( _
"[DimDate].[Year-Month-Date].[Month]" ).VisibleItemsList = Array ("" )
ActiveSheet.PivotTables("Сводная таблица4" ).PivotFields( _
"[DimDate].[Year-Month-Date].[Date]" ).VisibleItemsList = Array ( _
"[DimDate].[Year-Month-Date].[Date].&[2022-07-31T00:00:00]" )
End Sub
ex
Ответить
Сообщение Добрый день! Есть отчет с большим кол-во сводных таблиц, который я регулярно перестраиваю. Соответственно, мне надо зайти в фильтр каждой сводной и поменять дату на новую. Решил попробовать делать это макросом. Записал его через функцию "Запись макроса" (пример для одной сводной ниже, в данном случае я меняю дату на 31.07.22). Мне бы хотелось, чтобы новую дату макрос брал из ячейки А1 на листе "Даты", этот лист находится в той же книге. Т.е. мне не надо будет вносить изменения в макрос, а просто потребуется поменять дату в ячейке A1. Подскажите, пожалуйста, как это прописать в макросе. Заранее спасибо! Файл не прикладываю, поскольку сводная из отчета все равно не будет работать без подключения. [vba]
Sub Макрос5()'' Макрос5 Макрос ''ActiveSheet.PivotТables("Сводная таблица4").PivotFields( _ "[DimDate].[Year-Month-Date].[Year]").VisibleItemsList = Array("")ActiveSheet.PivotТables("Сводная таблица4").PivotFields( _ "[DimDate].[Year-Month-Date].[Month]").VisibleItemsList = Array("")ActiveSheet.PivotТables("Сводная таблица4").PivotFields( _ "[DimDate].[Year-Month-Date].[Date]").VisibleItemsList = Array( _ "[DimDate].[Year-Month-Date].[Date].&[2022-07-31T00:00:00]")End Sub
[/vba] Автор - ex Дата добавления - 31.07.2022 в 23:31
Pelena
Дата: Понедельник, 01.08.2022, 07:24 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация:
4620
±
Замечаний:
±
Excel 365 & Mac Excel
Здравствуйте. Попробуйте эту часть
"[DimDate].[Year-Month-Date].[Date].&[2022-07-31T00:00:00]"
записать
"[DimDate].[Year-Month-Date].[Date].&[" & Sheets("Даты" ).Range("A1" ) & "T00:00:00]"
Здравствуйте. Попробуйте эту часть
"[DimDate].[Year-Month-Date].[Date].&[2022-07-31T00:00:00]"
записать
"[DimDate].[Year-Month-Date].[Date].&[" & Sheets("Даты" ).Range("A1" ) & "T00:00:00]"
Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Здравствуйте. Попробуйте эту часть[vba]
"[DimDate].[Year-Month-Date].[Date].&[2022-07-31T00:00:00]"
[/vba]записать [vba]
"[DimDate].[Year-Month-Date].[Date].&[" & Sheets("Даты").Range("A1") & "T00:00:00]"
[/vba] Автор - Pelena Дата добавления - 01.08.2022 в 07:24
ex
Дата: Понедельник, 08.08.2022, 11:25 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Добрый день! Попробовал вышеприведенный код, теперь макрос не работает и выдает ошибку: Run-time error ' 1004': Невозможно получить свойство PivotTables класса Worksheet Как я понимаю, тут дело в формате даты, на которую ссылается макрос. Я пробовал и текстовый формат, и дата, и общий - не помогает.
Добрый день! Попробовал вышеприведенный код, теперь макрос не работает и выдает ошибку: Run-time error ' 1004': Невозможно получить свойство PivotTables класса Worksheet Как я понимаю, тут дело в формате даты, на которую ссылается макрос. Я пробовал и текстовый формат, и дата, и общий - не помогает. ex
Ответить
Сообщение Добрый день! Попробовал вышеприведенный код, теперь макрос не работает и выдает ошибку: Run-time error ' 1004': Невозможно получить свойство PivotTables класса Worksheet Как я понимаю, тут дело в формате даты, на которую ссылается макрос. Я пробовал и текстовый формат, и дата, и общий - не помогает. Автор - ex Дата добавления - 08.08.2022 в 11:25
RAN
Дата: Понедельник, 08.08.2022, 12:51 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
У вас есть выбор 1. Сделать пример, который будет работать без подключения 2. Продолжать понимать дальше
У вас есть выбор 1. Сделать пример, который будет работать без подключения 2. Продолжать понимать дальше RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение У вас есть выбор 1. Сделать пример, который будет работать без подключения 2. Продолжать понимать дальше Автор - RAN Дата добавления - 08.08.2022 в 12:51