2016-09-23 3 views
0
이 코드 내 통합 문서의 모든 시트를 루프이 코드를 가지고 자신의 코드 명

건너 뛰기 여러 시트

에 의해 내 통합 문서에 숨겨진 될 시트의 일부를 생략 할 필요가있다

코드 명 내가 사용하고있어.

Dim WS As Worksheet 
For Each WS In Worksheets 

'Skips sheets below 
example Skip .sheetscodename, .sheetscodename2, and so on 


'Insert code to be looped here 
Set Rng = WS.Range("C7", WS.Range("C1048576").End(xlUp)) 
For Each cel In Rng 
If cel.Value = "0" Then 
cel.EntireRow.Hidden = True 
End If 
Next cel 

'Next sheet 
    Next WS 

답변

3

한 가지 방법은 생략하는 모든 이름의 문자열을 만드는 것입니다, 다음) (InStr이를 사용

Dim WS As Worksheet 
Dim cel As Range, Rng As Range 
Dim shts As String 
shts = ("sheetscodename,sheetscodename2,...") 
For Each WS In Worksheets 

    If InStr(1, shts & ",", WS.CodeName & ",", vbTextCompare) = 0 Then 


     'Insert code to be looped here 
     Set Rng = WS.Range("C7", WS.Range("C1048576").End(xlUp)) 
     For Each cel In Rng 
      If cel.Value = "0" Then 
      cel.EntireRow.Hidden = True 
     End If 
     Next cel 
    End If 

'Next sheet 
Next WS 
+0

내가 더 이상의 시트와 함께 작동하도록 얻을 수없는 것. 'shts = ("BlankOptionSheet")'이것은 시트를 건너 뛰고 더 많은 시트 이름을 추가하려고 할 때 어떤 시트에서도 더 이상 작동하지 않습니다. 'shots = ("BlankOptionSheet, BlankBidSheet")'할 때 이건 작동을 멈춘다. – luke

+0

@luke 미안하다. 편집을 참조하십시오. 화면을 새로 고침해야 할 수도 있습니다. 대답으로 체크 표시를 클릭하여 올바르게 작동하는 경우 올바른 것으로 표시해야합니다. –