为什么我的Excel VBA宏崩溃了?

时间:2017-06-22 06:32:56

标签: excel vba excel-vba

所以我制作了一个Excel宏,当我尝试运行它时,它会一直崩溃。这是:

result = "fail"

j = 4

Do While result = "fail" Or Cells(2, j) <> " "

        If Cells(2, j).Value >= 15 Then

           result = "pass"


        Else

           j = j + 1

        End If

Loop

2 个答案:

答案 0 :(得分:1)

如果Do WhileDo While result = "fail" Or Cells(2, j) <> " ",则result = "fail"循环Cells(2, j) <> " "将会运行。

我认为你打算在到达空单元格时退出循环,或者得到result = "pass"。因此,您需要将Or更改为And

Do While result = "fail" And Cells(2, j) <> " "

如果您想在单元格中只有空格的情况下退出,请同时添加Trim

Do While result = "fail" And Trim(Cells(2, j)) <> ""

答案 1 :(得分:0)

更改或更改为。 循环需要在某个地方停止,目前它正在进入无限循环。 请尝试下面的代码,让我知道这是你想要的,还是我理解你的要求不正确。

Sub tester()


result = "fail"

j = 4

Do While result = "fail" And Cells(2, j) <> ""
    If Cells(2, j).Value >= 15 Then

       result = "pass"


    Else

       j = j + 1

    End If

Loop
End Sub