2013-09-26 5 views
1

For 루프에서 반복을 건너 뛰는 방법을 알아 내려고하고 있습니다. 일부 연구를 수행했는데 Continue For을 사용할 수 있다는 것을 알았지 만 문제가 해결되지 않았습니다. 여기에 내가 원하는 걸의 예 할 :루프의 경우 반복을 건너 뛰는 방법

For i As Long = 1 to 7 Step 1 
    If (i= 2, 5 and 7) Then 
     'perform this action 
    Else 
     'perform other action. 
    End If 
Next i 

내가 다음을했다,하지만 불행히도 그것은 <= 2 내 루프의 Else 부분과 57 작동, 같은 동작을 수행하는 것을 나는 Else 부분에 요청했다.

For i As Long = 1 To 7 Step 1 
    If (i <= 2 AndAlso 5 AndAlso 7) Then 
     strRange = ("A:D") 
    Else 
     strRange = ("A:A") 
    End If 

    xlRefSheets = ClientSheets(i) 

    With xlRefSheets 
     .Cells.EntireColumn.AutoFit() 
     .Range(strRange).EntireColumn.Hidden = True 
    End With 
Next i 
+3

'경우는 (i <= 2 AndAlso 5 AndAlso 7)'평가하지 않을 당신이 아마 생각하는 방식은 .... – Tim

+1

Option Strict On을 코드 파일의 맨 위에 두거나 프로젝트의 속성에 설정하십시오. 부울식이 예상되므로 If 조건은 컴파일하지 말아야합니다. –

답변

2

If (i <= 2) or (i = 5) or (i =7) Then 
    ... 

if 절을 재 작성에 대한 그래서 코드가된다 방법 :

For i As Long = 1 To 7 Step 1 
    If (i <= 2) OR (i = 5) OR (i = 7) Then 
     strRange = ("A:D") 
    Else 
     strRange = ("A:A") 
    End If 

    xlRefSheets = ClientSheets(i) 
    With xlRefSheets 
     .Cells.EntireColumn.AutoFit() 
     .Range(strRange).EntireColumn.Hidden = True 
    End With 
    Next i 
+0

우수함, 정확히 내가 필요로하는 것. –

관련 문제