2017-06-22 17 views
0

私はExcelマクロを作ったので、実行しようとするとクラッシュしてしまいます。ここには:私のExcel VBAマクロがクラッシュするのはなぜですか?

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 
+1

"クラッシュ"とは具体的にはどういう意味ですか?どのラインで「クラッシュする」? –

+0

jを増分する必要があるため、無限ループになります –

答えて

0

またはに変更されています。 ループはどこかで停止する必要があり、現在は無限ループに入っています。 plsは以下のコードを試してみて、これがあなたが望むものか、あなたの要求を間違って理解しているかどうかを教えてください。

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 
1

あなたDo WhileループDo While result = "fail" Or Cells(2, j) <> " "result = "fail"Cells(2, j) <> " "いずれかの場合に実行されます。

空のセルに達したらループを終了するか、result = "pass"になると思います。だから、あなたはあなたのOrAndにを変更する必要があります。

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

あなたはケースを中に終了する場合のみ、空きスペースがセル内に存在し、またTrimを追加します。

Do While result = "fail" And Trim(Cells(2, j)) <> "" 
関連する問題