Я пытаюсь создать код vba, который позволит динамически обновлять диапазон отчетов сводной таблицы для данных, которые хранятся на другом листе в файле Excel. Nb данные в таблице, в базе данных ограничены 48 столбцами из столбца A. Первый набор данных хранится в A1 + в настоящее время таблица имеет 30 000 строк. Код, который я создал с разных сайтов. Код вообще создает любой диапазон. Не могли бы вы помочь.
Dim DBs As Worksheet
Dim PTs As Worksheet
Dim StartPoint As Range
Dim DataRange As Range
Dim PivotName As String
Dim NewRange As String
'Set Variables Equal to Data Sheet and Pivot Sheet
Set DBs = ThisWorkbook.Worksheets("Spend_DBase")
Set PTs = ThisWorkbook.Worksheets("BS_Outstanding spending")
'Enter in Pivot Table Name
PivotName = "PivotTable1"
'Dynamically Retrieve Range Address of Data
Set StartPoint = DBs.Range("A1")
Set DataRange = DBs.Range(StartPoint, StartPoint.End(xlDown).Offset(0, 48))
'Change Pivot Table Data Source Range Address
Pivot_sht.PivotTables(PivotName).ChangePivotCache _
ThisWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=NewRange)