在Excel 2007中,我导入了由一列行组成的数据。我希望设置一个VBA脚本,使用循环从上到下读取数据。循环应继续迭代,而第六列中的单元格不为空。 我试过了:
Do While IsEmpty(Cells(i,6)) = False
...
i = i + 1
Loop
......还有
Do While Cells(i, 6).Value <> ""
...
i = i + 1
Loop
循环执行它应该的操作,但随后出现错误,因为程序继续读取数据块下方。 (我在循环中插入了“On Error GoTo Catch
”,然后在循环“Catch: MsgBox Cells(i, 6).Value & "Error
”之后插入,以确认发生了错误。
循环中没有任何内容会影响Cells(i,6)
。
Stack Overflow中有很多关于空单元格的问题,但答案往往避免了如何检测空单元格以使循环结束的问题。有没有办法做到这一点?
答案 0 :(得分:0)
如果您在正确的表格中(以下替换),您发布的代码应该可以使用
i = 1
Do While sheets("sheet1").Cells(i, 6).Value <> ""
i = i + 1
Loop
您可以发布列结尾的屏幕截图吗?您的错误处理可能也会阻止错误消息,请尝试暂时禁用该错误消息。列是否都以某一行结束?您可以指定&#34; do while not blank AND row < end row
&#34;。