루프 vba에서 다음 반복으로 건너뜁니다.
조건이 참일 경우 다음 반복으로 넘어가는 단순한 조건부 루프를 작성하려고 합니다.지금까지 알고 있는 코드는 다음과 같습니다.
For i = 2 To 24
Level = Cells(i, 4)
Return = Cells(i, 5)
If Return = 0 And Level = 0 Then
'Go to the next iteration
Else
End If
Next
난 시도했다.GoTo NextIteration단, '라벨이 정의되지 않았습니다'라는 오류가 나타납니다.이것은 매우 간단한 해결책일 것입니다만, 잘 부탁드립니다.감사해요.
For i = 2 To 24
Level = Cells(i, 4)
Return = Cells(i, 5)
If Return = 0 And Level = 0 Then
'Go to the next iteration
GoTo NextIteration
Else
End If
' This is how you make a line label in VBA - Do not use keyword or
' integer and end it in colon
NextIteration:
Next
조건이 충족되면 아무것도 하지 말고, 그렇지 않으면 필요한 처리와For루프가 다음 항목으로 이동합니다.
For i = 2 To 24
Level = Cells(i, 4)
Return = Cells(i, 5)
If Return = 0 And Level = 0 Then
'Do nothing
Else
'Do something
End If
Next i
또는 조건이 충족되는 경우에만 처리되도록 절을 변경합니다.
For i = 2 To 24
Level = Cells(i, 4)
Return = Cells(i, 5)
If Return <> 0 Or Level <> 0 Then
'Do something
End If
Next i
고토 사용
For x= 1 to 20
If something then goto continue
skip this code
Continue:
Next x
현재 솔루션은 OP와 동일한 흐름을 생성합니다.라벨을 사용하지 않지만 OP의 요구 사항은 아닙니다."조건이 참일 경우 다음 반복으로 넘어가는 단순한 조건부 루프"만 요청했으며, 이 루프는 읽기 쉬우므로 라벨을 사용하는 것보다 더 나은 옵션일 수 있습니다.
고객님이 원하는 것은for루프는 패턴을 따릅니다.
If (your condition) Then
'Do something
End If
이 경우, 당신의 상태는Not(Return = 0 And Level = 0)를 사용할 수 있습니다.
For i = 2 To 24
Level = Cells(i, 4)
Return = Cells(i, 5)
If (Not(Return = 0 And Level = 0)) Then
'Do something
End If
Next i
PS: 이 조건은(Return <> 0 Or Level <> 0)
이런 거 쓸 수 있어요continue네스트된 것을 사용하여Do ... Loop While False:
'This sample will output 1 and 3 only
Dim i As Integer
For i = 1 To 3: Do
If i = 2 Then Exit Do 'Exit Do is the Continue
Debug.Print i
Loop While False: Next i
언급URL : https://stackoverflow.com/questions/20681306/skip-to-next-iteration-in-loop-vba
'programing' 카테고리의 다른 글
| Xcode 빌드 옵션의 영향 "비트 코드 활성화" 예/아니오 (0) | 2023.04.09 |
|---|---|
| 목표 C의 MD5 알고리즘 (0) | 2023.04.09 |
| git 분기를 오리진 버전으로 재설정해야 합니다. (0) | 2023.04.09 |
| git 저장 해제 (0) | 2023.04.09 |
| SQL 테이블에서 중복 값 찾기 (0) | 2023.04.09 |