2013-08-22 2 views
1

Я пытаюсь выбрать сводную таблицу с помощью VBA и столкнулся с проблемой в том, что сводная таблица может начинаться с A3 (если нет активных фильтров отчетов) или A6 (если были установлены 3 фильтра отчетов выбранный) и т. д. Соответственно, сводная таблица не всегда будет в одной и той же точке на листе. Очистка стержня удаляет все фильтры данных и отчетов, хотя и не перемещает опорную таблицу обратно в исходное положение. Есть ли способ использовать VBA для выбора сводной таблицы (чтобы иметь возможность копировать и вставлять данные в новую рабочую таблицу) независимо от того, где она может быть размещена на листе?VBA Select Pivot Table

Спасибо.

ОБНОВЛЕНИЕ - С тех пор я понял, как это сделать. Его довольно просто:

Dim PT As PivotTable 
Set PT = ActiveSheet.PivotTables(1) 
PT.TableRange1.Select 
+0

Вы должны написать его в качестве ответа вместо редактирования и подтверждения. –

+0

Спасибо - сделаю, как только истечет срок для ответа на мои вопросы! –

+2

Теперь, когда у вас есть дескриптор выбора сводной таблицы, вы можете очень хорошо знать, как ссылаться на разные части сводной таблицы. Образцы можно найти здесь: http://peltiertech.com/WordPress/referencing-pivot-table-ranges-in-vba/ – tbur

ответ

3

Используйте следующий код (приведены для сводной таблицы имен PivotTable1):

Dim PT As PivotTable 
Set PT = ActiveSheet.PivotTables(1) 
PT.TableRange1.Select