快速提问,下面的代码看起来有什么问题(找到第一个非零行)?它保持退出循环,尽管第一个非零行是第5行,而不是第2行:(
'Finding first non-zero row
y = 2
If IsEmpty(Range(Cells(y, 10).Address)) = True Then
Do
y = y + 1
Loop While IsEmpty(Range(Cells(y, 10).Address)) = True
End If
FirstRow = y
非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
代码运行正常,只需确保您正在查找正确的列:第10列是列J
,可能不是您希望查看的列。
然而,您的代码需要改进几件事:
If
。只需使用Do While
来获得相同的检查顺序; = True
添加到条件中没有用处,因为IsEmpty()
已经返回Boolean
; IsEmpty(Cells(y, 10))
应足以进行检查。获取单元格的地址字符串然后使用Range()
将其转换回Cells()
已经返回的地址字符串是过分的。代码:
y = 2
Do While IsEmpty(Cells(y, 10))
y = y + 1
Loop
FirstRow = y
答案 1 :(得分:-1)
您的IsEmpty
行都应该检查False,而不是True。