2016-09-23 1 views
0

をコードネーム私は使用しています。スキップ複数のシートは、私は私のワークブック内のすべてのシートをループし、これはコードで自分のコードネームで</p> <p>を私のワークブックに表示されなくなりますシートの一部をスキップする必要があり、このコードを持って

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申し訳ありませんが基準を後方に持っています。編集を参照してください。画面を更新する必要があります。答えによってチェックマークをクリックすることによって、あなたのために機能する場合は、正しいものとしてマークすることを忘れないでください。 –

関連する問題