范围为1时,用于遍历可变范围的代码失败

时间:2018-08-01 12:45:52

标签: excel vba excel-vba

我的一些代码有问题。我基本上写了一行,可以定义尺寸可变的范围。这样,我的模型就会为范围内的每个元素创建图纸。当定义的范围大于1时,此代码可完美工作,但是当我应定义一个1或0的范围时,我的代码告诉我在此范围内有很多元素(如100,000个)。有人知道为什么吗?这是代码:

Dim deposits As Range
Set deposits = Worksheets("DATA ENTRY").Range("C3", Worksheets("DATA ENTRY").Range("C3").End(xlDown))

1 个答案:

答案 0 :(得分:1)

问题是如果C4或更低版本中没有数据,xlDown将向下移动到Excel的最后一行。

因此从最后一行xlUp开始使用Rows.Count来确定最后使用的单元格。这比xlDown方法更可靠。

Dim deposits As Range
Set deposits = Worksheets("DATA ENTRY").Range("C3", Worksheets("DATA ENTRY").Cells(Rows.Count, "C").End(xlUp))