1
Sub Hideall_butlast_10()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws

i = Worksheets.Count
For x = 10 To i
    Sheets(x).Select
    ActiveSheet.Visible = xlSheetHidden
Next x
End Sub

やあみんな

上記のコードを編集してすべてのシートを再表示し、最初の 5 枚と最後の 10 枚を除くすべてのシートを非表示にしようとしています (10 枚は変更されます) - ただし、最初の 5 枚は常に表示されています

私のワークブックは 50 ~ 300 ページあります (毎日変更されます)

誰かが私を正しい方向に向けてくれることを願っています

ありがとう

4

3 に答える 3

4
Sub Hideall_butlast_10()
    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        ws.Visible = xlSheetVisible
    Next ws

    Const lowerBound As Integer = 5
    Const upperBound As Integer = 10

    Dim i, x
    i = Worksheets.Count
    If (i > lowerBound + upperBound) Then
        For x = lowerBound + 1 To (i - upperBound)
            Sheets(x).Visible = xlSheetHidden
        Next x
    End If
End Sub 
于 2013-11-14T22:21:45.343 に答える