Do Until循环直到返回布尔值

时间:2018-04-22 18:56:14

标签: excel-vba vba excel

我希望循环继续,直到返回某个布尔值(True)。我有以下代码......(请注意,它是我遇到问题的Do Until循环。)

ElseIf (IsNumeric(Worksheets("Price").Cells(row + row_forward, 
Col).Value) = False And IsNumeric(Worksheets("Price").Cells(row, 
Col).Value) = True) Then 


    Do Until (IsNumeric(Worksheets("Price").Cells(row + row_forward - 
    row_back_to_before_NA, Col).Value = True) 


        row_back_to_before_NA = row_back_to_before_NA + 1 

    Loop

为什么它不起作用?我的猜测是你不能使用'IsNumeric'像那样?如果是这样的话......那就是"其他一些"你可以使用或一些替代解决方案吗?

1 个答案:

答案 0 :(得分:0)

尝试将循环条件定义为

Do While Not IsNumeric(Worksheets("Price").Cells(row + row_forward - row_back_to_before_NA, Col))
    ...
Loop