在excel中查找带有while循环的最后一行

在excel中查找带有while循环的最后一行,excel,while-loop,vba,Excel,While Loop,Vba,我想使用while循环在excel电子表格的A列中找到最后一行的文本。我不确定我需要的确切语法,因为我是VBA新手。我知道还有其他方法可以找到最后一行,但是我需要使用从第20行开始的while循环 Dim Row As Integer Row = 20 Do While .Range("A" & Row) <> "" Row = Row + 1 Loop Dim行为整数 行=20 Do While.Range(“A”行和“行”) 行=行+1 环 您的代码只会在该列

我想使用while循环在excel电子表格的A列中找到最后一行的文本。我不确定我需要的确切语法,因为我是VBA新手。我知道还有其他方法可以找到最后一行,但是我需要使用从第20行开始的while循环

Dim Row As Integer
Row = 20
Do While .Range("A" & Row) <> ""
     Row = Row + 1
Loop
Dim行为整数
行=20
Do While.Range(“A”行和“行”)
行=行+1
环

您的代码只会在该列中找到第一个空单元格,不一定在最后一行之后。为什么必须是“While”循环?有六种方法可以在不使用while循环的情况下查找最后使用的行或列。只需谷歌“vba excel查找最后一行”

循环到最后一行,如下所示:

Dim X as long 'Note, use Long, NOT Integer
For X = 20 to Range("A" & rows.count).end(xlup).row
    'What you want to do in your loop here
Next
正如其他人所指出的,Do while在这里不是一个好选项,当它变为空白时,它将停止,即使之后单元格中有数据


就我个人而言,我尽量避免将变量命名为与VBA中的对象或方法相同的名称。

这是查找列中最后填充的行的常用方法:我知道还有其他方法,但我也将使用while循环实现其他功能,这就是我需要它的原因。即使列A中的第20-40行包含字符串,循环也不会超过20。为什么会这样?