Я полный макрос VBA newb ie, но я пытаюсь выяснить, каким будет макрос VBA для сортировки всех сводных таблиц во всех листах книги, где все сводные таблицы имеют одинаковую структуру.
Все сводные таблицы структурированы следующим образом:
Description | Date 2 months ago | Last Month's Date | This Month's Date
A Some Value Some Value Some Value
B Some Value Some Value Some Value
.
.
.
Z Some Value Some Value Some Value
Я хочу отсортировать каждую сводную таблицу по убыванию столбца «Дата последнего месяца», который по сути также меняется каждый месяц в зависимости от источника данных. для сводных таблиц
Может кто-нибудь помочь с тем, как может выглядеть такой код VBA?
Я попробовал решение здесь: Цикл по рабочим таблицам, обновление и сортировка сводных таблиц
и многие другие, но всегда сталкиваются с ошибками.
Любая помощь очень ценится! Спасибо!
Обновление: я также записал макрос, когда выполнял шаги вручную, что привело к приведенному ниже результату в VBA:
Sub sort_pivot()
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveSheet.PivotTables("PivotTable_Name").PivotFields("Column_1").Orientation _
= xlHidden
Range("DB12").Select
ActiveSheet.PivotTables("PivotTable_Name").PivotFields("Column_2"). _
AutoSort xlDescending, "Name of Value", ActiveSheet.PivotTables( _
"PivotTable_Name").PivotColumnAxis.PivotLines(56), 1
With ActiveSheet.PivotTables("PivotTable_Name").PivotFields("Column_1")
.Orientation = xlRowField
.Position = 2
End With
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub
Хотя в нем было несколько шагов:
- Удалить столбец_1 из выбора «Строки» из списка полей сводной таблицы, чтобы разрешить сортировку
- Выбрать значение в ссылке на ячейку DB12
- Сортировать всю таблицу на основе выбора ссылки на ячейку DB12 в «По убыванию» order
- Верните Column_1 в поле выбора 'Rows' в списке полей сводной таблицы