Я пытаюсь скопировать данные из сводной таблицы на новый лист как общие данные в vba. Я хочу сохранить форматирование сводной таблицы (разделитель подэлементов табуляции, жирный шрифт групп и т. Д.). Он работает правильно, когда я вручную копирую сводную таблицу и вставляю ее с помощью кнопки «Значения и исходное форматирование». Когда я записываю макрос функции, описанной выше, я получаю этот код:
Sub Macro()
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Но когда я использую этот макрос в своем коде (выделение заменяется диапазоном), данные копируются, но без формата.
Вот мой код:
Set sh = WB1.Sheets("RESULT")
WB1.Sheets("PIVOT").Range("A1:D" & lRow).Copy
sh.Range("A1").PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
sh.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False