Я написал этот код в VBA для создания сводной таблицы (конвертировано его из Macro, Acctually ...), и он не работаетСоздание сводной таблицы в VBA в Excel 2013
Dim wsTarget As Worksheet
Dim rngSource As Range
Dim pc As PivotCache
Dim pt As PivotTable
Dim field As PivotField
Application.ScreenUpdating = False
Set rngSource = Summary.Range("A1").CurrentRegion
Set wsTarget = PivotTable
wsTarget.Select
For Each pt In wsTarget.PivotTables
pt.Delete
Next pt
Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, rngSource, xlPivotTableVersion15)
Set pt = pc.CreatePivotTable(wsTarget.Range("A3"), "PivotTable1", , xlPivotTableVersion15)
Set field = wsTarget.PivotTables("PivotTable1").PivotFields("A")
field.Orientation = xlColumnField
field.Position = 1
field.LayoutBlankLine = True
Set field = wsTarget.PivotTables("PivotTable1").PivotFields("B")
field.Orientation = xlRowField
field.Position = 1
Set field = wsTarget.PivotTables("PivotTable1").PivotFields("TOTAL")
Set field = wsTarget.PivotTables("PivotTable1").AddDataField(field, "Sum of TOTAL", xlSum)
field.NumberFormat = "_ $ * #,##0.00_ "
Application.ScreenUpdating = True
код продолжает сбой в строке «Set pc», и я не могу понять, почему ... пробовал поиск по Google, и все результаты были идентичны моему коду ... Важная информация - я работаю с excel 2013, может быть, из-за этого ... Поблагодарите любую помощь, которую я могу получить - Спасибо!
Я сделал это, но он все еще не работает .. похоже на rngSource не может получить значение всей таблицы .. есть другой способ, чтобы вставить диапазон таблицы в переменная? спасибо !! – Bramat
Загрузите приложение где-нибудь. пришлите мне ссылку .. я буду работать над этим –