Похоже, вам все равно, если вы действительно сохраняете значения сводной таблицы. В примере, который я только что выполнил, у меня есть сводная таблица в G2: L19. Я выполнил эту строку кода, которая удалила столбцы, содержащие сводную таблицу, и сводная диаграмма осталась, отображая те же данные, но теперь данные были жестко запрограммированы в диаграмме.
ActiveSheet.Range("G:L").Delete
Если вы хотите сохранить значения и числовые форматы, но не саму сводную таблицу, этот код, работающий в режиме F5 или F8, сохраняет данные там, где была сводная таблица, и сохраняет данные в диаграмме. -кодированный (не связанный с сводной таблицей).
Sub UnpivotTable()
With ActiveSheet.Range("G2:L19")
.Copy
.PasteSpecial xlPasteValuesAndNumberFormats
End With
End Sub
Хотите сохранить ссылки с графика на данные? Сохраните формулы ряда, отмените сводную таблицу и повторно примените формулы ряда:
Sub UnpivotTableKeepChartLinks()
Dim MyChart As Chart
Set MyChart = ActiveSheet.ChartObjects("Chart 1").Chart
Dim vSrsFmlas As Variant
ReDim vSrsFmlas(1 To MyChart.SeriesCollection.Count)
Dim iSrs As Long
For iSrs = 1 To MyChart.SeriesCollection.Count
vSrsFmlas(iSrs) = MyChart.SeriesCollection(iSrs).Formula
Next
With ActiveSheet.Range("G2:L19")
.Copy
.PasteSpecial xlPasteValuesAndNumberFormats
End With
For iSrs = 1 To MyChart.SeriesCollection.Count
MyChart.SeriesCollection(iSrs).Formula = vSrsFmlas(iSrs)
Next
End Sub