получить сводное значение (общий итог) с помощью VBA? - PullRequest
0 голосов
/ 11 марта 2020

У меня есть сводная таблица, и я хочу получить значение из этой сводной таблицы, которое является значением общего итога. Если вы видите картинку ниже, я хочу значение «88%». Это значение находится в ячейке C24. И это в поле соответствия (столбец C), а строка - это общая сумма. Над сводной таблицей у меня уже есть фильтры, применяемые для фильтрации моих данных. Я просто хочу VBA-код для этого значения ячейки / поля. Это то, что я пытался.

Dim rtot as Double
rtot = Worksheets("ABC").PivotTables("PivotTable2").PivotValueCell(3, 24).Value

enter image description here

Ответы [ 2 ]

2 голосов
/ 11 марта 2020

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

Set pt = Worksheets("ABC").PivotTables("PivotTable2")
            rtot = pt.DataBodyRange.Cells(pt.DataBodyRange.Cells.Count).Value

0 голосов
/ 11 марта 2020

Вы можете использовать Evaluate по формуле Getpivotdata:

rtot = Application.Evaluate("=GETPIVOTDATA(""COMPLIANCE %"",ABC!$A$13)")

Изменить адрес ячейки и лист на ваш (topleftcell of pivot)

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