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

问题描述 投票:2回答:1

这个问题在这里已有答案:

我想知道为什么以下这一行给出了

“应用程序定义或对象定义的错误”

如果选择Sheet6,此行运行正常 - 没有错误消息。但是,如果选择了另一个工作表,Excel将抛出上述错误消息。

ThisWorkbook.Sheets("Sheet6").Range(Cells(1, 2), Cells(12, 1000).End(xlToLeft)).ClearContents
excel vba excel-vba
1个回答
4
投票

您需要使用工作表限定所有Range对象。

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

你没有用你的工作表来限定Cells(),所以它从ActiveSheet而不是Worksheets("Sheet6")

所以,请记住,当你的想法“只有当它在那张纸上时才有效”,那么这就是问题所在。

© www.soinside.com 2019 - 2024. All rights reserved.