Excel VBA - 使用变量清除两个行号之间的列中的内容

Excel VBA - Clear contents in a column between two row numbers using variables

我有一个变量 'lastrow',它给出 sheet 中最后使用的行的行号。我还有变量 'lastrow2',它给出了 sheet.

上更高一行的行号

我需要清除AD列中的数据,从lastrow2开始到lastrow结束。

我该怎么做?

我已经尝试了以下我认为是正确但不完全正确的方法:

Worksheets("Received - Open").Range("AD & lastrow2":"AD & lastrow").ClearContents

您必须将 lastrow 和 lastrow2 视为变量,而不是常量字符串

Worksheets("Received - Open").Range("AD" & trim(str(lastrow2)) & ":AD" & trim(str(lastrow))).ClearContents

假设您的变量是数字数据类型,即 Long

Worksheets("Received - Open").Range("AD" & lastrow2 & ":AD" & lastrow).ClearContents

如果您将变量包含在引号内,它就会成为字符串的一部分。确保您的变量始终在这些场景中和字符串之外串联。

还有另一种方法:

Worksheets("Received - Open").Cells(lastrow2, "AD").Resize(lastrow - lastrow2 + 1).ClearContents