【发布时间】:2019-12-26 23:27:40
【问题描述】:
尝试将 Excel 上的数据透视表从一页复制并粘贴到另一页。 代码有效,但不会粘贴格式。
Sub TestPivotPaste()
Dim wb As Workbook
Dim sh As Worksheet
Dim sh1 As Worksheet
Dim copyrange As Range
Set wb = ActiveWorkbook
Set sh = wb.Worksheets(8)
Set copyrange = sh.Range("A1:Z50")
Set sh1 = wb.Worksheets(9)
copyrange.Copy
sh1.Range("B50").PasteSpecial Paste:=xlPasteValues
sh1.Range("B50").PasteSpecial Paste:=xlPasteFormats
sh1.Range("B50").PasteSpecial Paste:=xlPasteColumnWidths
End Sub
我试着在同一个页面上做
Sub TestPivotPaste()
Dim wb As Workbook
Dim sh As Worksheet
Dim copyrange As Range
Set wb = ActiveWorkbook
Set sh = wb.Worksheets(8)
Set copyrange = sh.Range("A1:Z50")
copyrange.Copy
sh.Range("B50").PasteSpecial Paste:=xlPasteValues
sh.Range("B50").PasteSpecial Paste:=xlPasteFormats
sh.Range("B50").PasteSpecial Paste:=xlPasteColumnWidths
End Sub
它仍然会在没有格式的情况下被复制,我得到了 运行时错误 1004:Range 类的 PasteSpecial 方法失败,罪名是
sh.Range("B50").PasteSpecial Paste:=xlPasteFormats
通过查看此网站上的类似答案,我无法弄清楚问题出在哪里
【问题讨论】:
标签: vba format pivot-table copy-paste