如何复制整个工作表并转换粘贴到VBA中的另一个工作表?
工作环境:Excel 2013。
目标:
- 复制整张表格
- 创build另一个表
- 转置粘贴复制的工作表到这个新的工作表。
我使用的代码如下:
Worksheets("Sheet4").Copy Worksheets("Master").PasteSpecial Transpose:=True
但是,当我运行它,我得到一个错误
应用程序定义或对象定义错误
任何人都可以帮我弄清楚为什么?
也许你之后的代码如下所示:
Option Explicit Sub CreateAndCopyTran() Dim ws As Worksheet ' create a new worksheet, and name it "Master" Set ws = ThisWorkbook.Worksheets.Add(after:=ThisWorkbook.Worksheets(1)) ws.Name = "Master" ' copy the UsedRange and Transpose Worksheets("Sheet4").UsedRange.Copy ws.Range("A1").PasteSpecial xlPasteAll, Transpose:=True End Sub
您想要复制Sheet4中的单元格,而不是表单本身,因此您需要调用范围/单元格的复制方法。
同样,需要在范围对象上调用PasteSpecial方法,而不是在表单对象上调用。
你可以试试这个,例如:
Sub test() Worksheets("Sheet4").UsedRange.Copy Worksheets("Master").Cells(1, 1).PasteSpecial Transpose:=True End Sub