在范围函数中使用variables删除内容

运行时错误'1004'对象'_Global'的方法'范围'失败

只要我在下面的顺序执行,我会得到以上错误。 我的目标是删除当前单元格范围内所有单元格的内容,直到C200。

Posit2.Select Sheets("Sheet1").Cells(53, 1).Value = ActiveCell.Address ' $C$52 is output Range(ActiveCell.Address, c200).ClearContents 

你的路线是错误的,

Range(ActiveCell.Address & " : C200").ClearContents

是对的

您也可以尝试将您的错误行replace为:

 Range(ActiveCell, Cells(200, "C")).ClearContents 

最终你会想离开select。 假设Posit2是在你的例子中的Sheet1上的C52的引用

 Dim Posit2 as Range set Posit2 = Worksheets("Sheet1").range("C52") With Posit2.parent .Range(Posit2, .Cells(200,"C")).ClearContents End With 

前两行是为了说明,因为你应该已经有了这样的代码。 而且,通过引用表单,Sheet1不需要是活动表单。