Как автоматизировать проверку/снятие даты в отчетном отчете о сводной таблице?Изменение диапазонов дат в сводной таблице
У меня есть сводная таблица, из которой мне нужно извлечь данные на основе диапазона дат (последние семь дней, за предыдущие семь дней). В электронной таблице есть несколько сводных таблиц и процесс щелчка по множеству флажков (год, квартал, месяц, каждый день, снятие отметки в предыдущие дни, изменение размера и прокрутка в раскрывающемся списке) для каждого из них является безумным.
Я хотел бы иметь поле с датой в ней, а затем запустить макрос, который пересматривает выбранные даты на основе этой даты. например Введите «11/11» в ячейке A1 и установите флажки для диапазона дат 4-10 ноября для некоторых таблиц, а диапазон дат 28 октября - 3 ноября проверяется для других. Затем на следующей неделе я смог обновить A1 с новой датой и перейти оттуда.
Я смог написать макрос, который устанавливает флажки даты, но я не могу его обновить без ввода вручную фактических дней месяца. Ниже приведен фрагмент кода, который манипулирует флажками даты. Но как я могу автоматизировать все усилия? В идеале любое решение учитывало бы то, что несколько недель охватывают два месяца.
ActiveSheet.PivotTables(ptNameA20).TableRange1.Select
ActiveSheet.PivotTables(ptNameA20).PivotFields(_
"[Date].[Date Hierarchy].[Year]").VisibleItemsList = Array("")
ActiveSheet.PivotTables(ptNameA20).PivotFields(_
"[Date].[Date Hierarchy].[Quarter]").VisibleItemsList = Array("")
ActiveSheet.PivotTables(ptNameA20).PivotFields(_
"[Date].[Date Hierarchy].[Month]").VisibleItemsList = Array("")
ActiveSheet.PivotTables(ptNameA20).PivotFields(_
"[Date].[Date Hierarchy].[Day]").VisibleItemsList = Array(_
"[Date].[Date Hierarchy].[Day].&[2013-11-04T00:00:00]", _
"[Date].[Date Hierarchy].[Day].&[2013-11-05T00:00:00]", _
"[Date].[Date Hierarchy].[Day].&[2013-11-06T00:00:00]", _
"[Date].[Date Hierarchy].[Day].&[2013-11-07T00:00:00]", _
"[Date].[Date Hierarchy].[Day].&[2013-11-08T00:00:00]", _
"[Date].[Date Hierarchy].[Day].&[2013-11-09T00:00:00]", _
"[Date].[Date Hierarchy].[Day].&[2013-11-10T00:00:00]")`
Я попытался с помощью петель, чтобы генерировать такие строки, как «2013-11-04», «2013-11-05», и т.д ... и затем строит длинную строку (охватывающую в «день» линии). Однако я не могу использовать результат, за исключением того, что вставляя их в макрос (вставляя блок текста на предыдущей неделе). Это приводит к большому количеству копировании и вставке, в то же время беспокоясь о перезаписи неправильной сводной таблицы. Это лучше, чем ручная проверка и снятие флажков, но все еще не очень хорошая.
Я использую Excel 2010. N.B. Я спросил об этом в SuperUser, но не получил никаких ответов.
Если вы будете группирования на неделю? – pnuts
Мне нужны данные ежедневно (т. Е. Создавать граф, который показывает данные за каждый день недели). Кроме того, группировка по неделям недоступна в фильтре отчета. Насколько я понимаю, он доступен только в ярлыках строк. – mockman