【发布时间】:2019-04-12 13:03:54
【问题描述】:
我想知道为什么下面一行给出了
“应用程序定义或对象定义的错误”
如果选择了Sheet6,则此行运行良好 - 没有错误消息。但是,如果选择了另一个工作表,Excel 会抛出上述错误消息。
ThisWorkbook.Sheets("Sheet6").Range(Cells(1, 2), Cells(12, 1000).End(xlToLeft)).ClearContents
【问题讨论】:
我想知道为什么下面一行给出了
“应用程序定义或对象定义的错误”
如果选择了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") 中提取。
所以,请记住,当您的想法“它只在它在该表上时才有效”,那么这将是问题所在。
【讨论】: