Мы можем использовать нижеприведенный код для создания сводной таблицы (это сводная таблица, созданная Power Pivot).Используйте VBA для захвата полей в сводной таблице
With ActiveSheet.PivotTables("PivotTable1").CubeFields(FieldName)
.Orientation = Orientation
.Position = Position
Есть ли способ обратить вспять процесс? Предположим, пользователь создал сводную таблицу. Мы используем VBA для захвата полей, используемых в таблице (найдите соответствующие FieldName(s), Orientation(s), and Position(s)
) и сохраните их, поэтому в следующий раз пользователь может просто запустить макрос и снова создать ту же сводную таблицу.
Благодаря
Для каждого objCubeFld в ActiveSheet.PivotTables ("PivotTable1"). PivotFields ..... Следующая objCubeFld Используйте этот синтаксис. Затем поработайте над кодом, чтобы выяснить, как сохранить значения где-нибудь, а затем как перезагрузить сводную таблицу. Если у вас есть конкретная проблема с этим, задайте вопрос об этом. – OpiesDad
@ OpiesDad Привет, спасибо за ответ. Я попробовал, и это сработало, но есть некоторые вопросы. Он не может различать, находятся ли поля в строке, или в столбце, или в фильтре. – NewGuyComesIn
Свойство objCubeFld.Orientation не работает? – OpiesDad