工作环境:Excel 2013。
目标:
我使用的代码如下:
Worksheets("Sheet4").Copy
Worksheets("Master").PasteSpecial Transpose:=True
然而,当我运行它时,我收到了错误
应用程序定义或对象定义错误
任何人都可以帮我弄明白为什么?
答案 0 :(得分:1)
也许你喜欢以下代码:
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
答案 1 :(得分:0)
您想复制Sheet4中的单元格,而不是工作表本身,因此您需要调用范围/单元格的复制方法。
类似地,需要在范围对象而不是工作表对象上调用PasteSpecial方法。
您可以尝试这样做,例如:
Sub test()
Worksheets("Sheet4").UsedRange.Copy
Worksheets("Master").Cells(1, 1).PasteSpecial Transpose:=True
End Sub