一旦填充了范围内的所有单元格,我的问题就是退出do until循环。到目前为止,我只设法在一个单元格填满时停止。
do until
do something()
for each cel in range("A1:A20")
if isEmpty(cel.value)=true then
else
exit do
end if
next
loop
答案 0 :(得分:0)
这是我能想到的最短(不一定是最快/最好)的代码
Do Until Range("A1:A20").Find("") Is Nothing
'...
Loop
可能需要预先设置Find
参数,但我不确定在搜索""
如果可能的话,循环遍历所有单元格会更安全,因为你无法以无限循环结束。
For Each cel in Range("A1:A20")
If Range("A1:A20").Find("") Is Nothing Then Exit For
'do your thing
Next cel
或者如果您的操作仅影响当前单元格:
For Each cel in Range("A1:A20")
If Not IsEmpty(cel) Then
'do your thing
End If
Next cel
如果您的范围非常大并且您希望在早期达到所有单元格填充的点,那么.Find
方法可能会更快,尽管有更好的方法而不是在大范围内循环... < / p>