Как выбрать диапазон данных сводной таблицы из другого листа - PullRequest
0 голосов
/ 12 февраля 2019

Новый для VBA.Я просто пытаюсь понять, почему я не могу выбрать диапазон данных первых строк из сводной таблицы с другого листа.Есть идеи?

Имя листа с помощью сводной таблицы = Имя сводной таблицы = Сводная таблица3

Dim pt As PivotTable Set pt = Sheets ("Pivot"). Сводные таблицы ("PivotTable3")

Worksheets("Pivot").Activate
pt.PivotFields("Row Labels").DataRange.Select
Selection.Copy

Я думал, что это выберет первую строку для меня.Однако я столкнулся с ошибкой "1004"

1 Ответ

0 голосов
/ 12 февраля 2019

Не уверен, какой именно диапазон вы хотите.Попробуйте один из них:

Worksheets("Pivot").PivotTables("PivotTable3").TableRange1.Rows(1)
Worksheets("Pivot").PivotTables("PivotTable3").TableRange2.Rows(1)
Worksheets("Pivot").PivotTables("PivotTable3").DataBodyRange.Rows(1)
Worksheets("Pivot").PivotTables("PivotTable3").RowRange.Rows(1)

Или, может быть, что-то вроде Application.Intersect(Worksheets("Pivot").PivotTables("PivotTable3").TableRange1, Worksheets("Pivot").PivotTables("PivotTable3").DataBodyRange.Rows(1).EntireRow)

Кстати, следующий подход должен быть запрещен (и на самом деле, все люди, имеющие опыт работы с VBA, будут избегать его):

SomeSheet.Activate
MyRange.Select
Selection.DoSomeAction

Вместо этого просто сделайте MyRange.DoSomeAction.

Это будет более плавным, без мерцания на экране.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...