为什么ThisWorkbook.Sheets.Range.Clearcontens给出应用程序定义或对象定义的错误?

时间:2018-11-08 23:18:07

标签: excel vba excel-vba

我想知道为什么下面这行给出

  

“应用定义错误或对象定义错误”

如果选择Sheet6,则此行运行正常-没有错误消息。但是,如果选择了另一个工作表,则Excel会引发以上错误消息。

ThisWorkbook.Sheets("Sheet6").Range(Cells(1, 2), Cells(12, 1000).End(xlToLeft)).ClearContents

1 个答案:

答案 0 :(得分:4)

您需要使用您的工作表对所有范围对象进行限定。

With ThisWorkbook.Worksheets("Sheet6")
    .Range(.Cells(1, 2), .Cells(12, 1000).End(xlToLeft)).ClearContents
End With

您的工作表不符合Cells()的条件,因此它是从ActiveSheet而不是Worksheets("Sheet6")提取的。

因此,请记住,当您思考“仅在该表上有效时” ,这将成为问题。