在VBA中使用列引用清除单元格的内容
我试图用一段代码来清除一些单元格中的数据,使用列的引用。我正在使用下面的代码。
Worksheets(sheetname).Range(.Cells(2, LastColData), .Cells(LastRowData, LastColData)).ClearContents
要做到这一点,但我在第一个.Cells部分得到一个错误,这是为什么?
12
3
你可以使用
Worksheet.Columns
对象将整个列作为一个范围来访问。类似于这样的情况。
应清除A列的内容
如果你需要对行进行类似操作,还有一个
Worksheet.Rows
对象。你所收到的错误可能是由于缺少一个与块。
你可以在这里阅读关于with块的信息。微软帮助
正如Gary'同学所提到的,你需要删除`Cells'前面的点,以使代码按你原来的写法工作。 我不能确定,因为你只包含了一行代码,但当你删除点时出现的错误可能与你如何定义变量有关。
我在运行你的这行代码时,将变量定义为整数,结果成功了。
我不认为
With
语句适合你分享的这行代码,但如果你要使用的话,With
应该在定义你要操作的对象的那一行的开头。下面是你使用不必要的With
语句重写的代码。With
语句的目的是让你免于重复输入代码,并使你的编码更容易阅读。 如果你对一个对象做了不止一件事,它就变得有用和合适。例如,如果你想把这一列变成红色并添加一个厚厚的黑色边框,你可以使用这样的With
语句。否则,你就必须为每个动作或属性声明范围,像这样。
我希望这能让你了解为什么Gary'的学生认为编译器可能在期待一个
With'(尽管它是不恰当的),以及
With'如何以及何时在你的代码中有用。在这之前你需要一个With语句。 或者把.Cells变成Cells