我无法将数据透视表格式复制到新工作表中。基本上我要做的就是:
someRange.Copy
someOtherRange.pasteSpecial xlPasteValues
someOtherRange.pasteSpecial xlPasteFormats
基本上,我想在新工作表中的数据透视表上获得当前视图的精确副本,但我只想要值和格式(并且不再连接到数据透视表)。手动执行此过程会产生正确的结果,但由于某种原因,当我通过vba使用相同的方法时格式化不会复制...思考?
更新 所需的确切代码:
Application.CutCopyMode = False
pivotSheet.Range(pivotSheet.usedRange.Cells(1, 2), pivotSheet.Cells(pivotSheet.usedRange.Rows.Count, pivotSheet.Columns.Count)).Copy
updatesSheet.Range(updatesSheet.Cells(1, 1), updatesSheet.Cells(pivotSheet.usedRange.Rows.Count, pivotSheet.usedRange.Columns.Count)).PasteSpecial xlPasteValues
updatesSheet.Range(updatesSheet.Cells(1, 1), updatesSheet.Cells(pivotSheet.usedRange.Rows.Count, pivotSheet.usedRange.Columns.Count)).PasteSpecial xlPasteFormats
Application.CutCopyMode = False
答案 0 :(得分:3)
已经过测试
Option Explicit
Sub Sample()
With Sheets("Sheet1")
.Range("H1:I6").Copy
With .Range("M7")
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
End With
End Sub
<强>快照强>
答案 1 :(得分:0)
在手动复制和粘贴之前,请开始录制宏。完成后,停止录制并检查录制的代码。您将获得一些可以删除的额外内容,但是您也可以获得正确的语法来执行您要执行的操作。