的Excel VBA退出在If块内不起作用

的Excel VBA退出在If块内不起作用,vba,excel,loops,Vba,Excel,Loops,一旦执行的第一个出口,它就会绕过第二个出口。您需要将第二个出口放置在内环外部 Dim valCheck As Variant For i = 0 To row1 For j = 0 To col1 MsgBox ("started" & i) valCheck = Range("A1").Offset(i, j).Value MsgBox (valCheck) If valCheck = "Details" The

一旦执行的第一个出口,它就会绕过第二个出口。您需要将第二个出口放置在内环外部

Dim valCheck As Variant

For i = 0 To row1
    For j = 0 To col1
        MsgBox ("started" & i)
        valCheck = Range("A1").Offset(i, j).Value
        MsgBox (valCheck)
        If valCheck = "Details" Then
            MsgBox ("found")
            ActiveCell = Range("A1").Offset(i + 1, j)
            Exit For
            Exit For
        End If
    Next j
Next i

一旦执行的第一个出口,它就会绕过第二个出口。您需要将第二个出口放置在内环外部

Dim valCheck As Variant

For i = 0 To row1
    For j = 0 To col1
        MsgBox ("started" & i)
        valCheck = Range("A1").Offset(i, j).Value
        MsgBox (valCheck)
        If valCheck = "Details" Then
            MsgBox ("found")
            ActiveCell = Range("A1").Offset(i + 1, j)
            Exit For
            Exit For
        End If
    Next j
Next i

对于循环和退出,您不需要2个
,只需使用
查找
功能即可

Dim valCheck As Variant

For i = 0 To row1
    For j = 0 To col1
        MsgBox ("started" & i)
        valCheck = Range("A1").Offset(i, j).Value
        MsgBox (valCheck)
        If valCheck = "Details" Then
            MsgBox ("found")
            ActiveCell = Range("A1").Offset(i + 1, j)
            Exit For
        End If
    Next j
    If valCheck = "Details" Then Exit For
Next i
Dim FindRng As Range
Set FindRng=Cells.Find(“详细信息”)
如果不是FindRng什么都不是,那么“Find”成功了

FindRng。选择“对于
循环,您不需要2个
,对于
循环,您只需使用
查找
功能即可

Dim valCheck As Variant

For i = 0 To row1
    For j = 0 To col1
        MsgBox ("started" & i)
        valCheck = Range("A1").Offset(i, j).Value
        MsgBox (valCheck)
        If valCheck = "Details" Then
            MsgBox ("found")
            ActiveCell = Range("A1").Offset(i + 1, j)
            Exit For
        End If
    Next j
    If valCheck = "Details" Then Exit For
Next i
Dim FindRng As Range
Set FindRng=Cells.Find(“详细信息”)
如果不是FindRng什么都不是,那么“Find”成功了

FindRng.选择“您不能使用2 x
退出”这样,它将只使用第一个,并退出j
循环的
。你想达到什么目的?我想循环遍历一个row1 X col1矩阵,直到找到所需的word=“Details”并选择它所在的列。你不能像这样使用2 X
Exit For
,它只会使用第一个,然后退出
For j
循环。您想实现什么?我想循环遍历row1 X col1矩阵,直到找到所需的word=“Details”,并选择它所在的列