这个问题在这里已有答案:
我想知道为什么以下这一行给出了
“应用程序定义或对象定义的错误”
如果选择Sheet6
,此行运行正常 - 没有错误消息。但是,如果选择了另一个工作表,Excel将抛出上述错误消息。
ThisWorkbook.Sheets("Sheet6").Range(Cells(1, 2), Cells(12, 1000).End(xlToLeft)).ClearContents
您需要使用工作表限定所有Range对象。
With ThisWorkbook.Worksheets("Sheet6")
.Range(.Cells(1, 2), .Cells(12, 1000).End(xlToLeft)).ClearContents
End With
你没有用你的工作表来限定Cells()
,所以它从ActiveSheet
而不是Worksheets("Sheet6")
。
所以,请记住,当你的想法“只有当它在那张纸上时才有效”,那么这就是问题所在。