【发布时间】:2014-01-03 12:00:40
【问题描述】:
当我运行这个子程序时,我收到一条“需要对象”的错误消息。我有一个用于复制每个特定工作表的版本,效果很好,但是这个子程序适用于 WB 内的所有工作表,即复制每个人的 WholePrintArea 并将其粘贴到新 WB 中的新工作表中。谢谢...
Sub NewWBandPasteSpecialALLSheets()
MyBook = ActiveWorkbook.Name ' Get name of this book
Workbooks.Add ' Open a new workbook
NewBook = ActiveWorkbook.Name ' Save name of new book
Workbooks(MyBook).Activate ' Back to original book
Dim SH As Worksheet
For Each SH In MyBook.Worksheets
SH.Range("WholePrintArea").Copy
Workbooks(NewBook).Activate
With SH.Range("A1")
.PasteSpecial (xlPasteColumnWidths)
.PasteSpecial (xlFormats)
.PasteSpecial (xlValues)
End With
Next
End Sub
【问题讨论】:
-
除了变量声明错误之外,您是否尝试将每个工作表的打印区域复制粘贴到相同的 Range(A1) 中?以为您正在尝试粘贴到新工作簿中。