的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 XExit For
,它只会使用第一个,然后退出For j
循环。您想实现什么?我想循环遍历row1 X col1矩阵,直到找到所需的word=“Details”,并选择它所在的列