Скрыть лист из другой рабочей книги - PullRequest
0 голосов
/ 03 апреля 2020

Допустим, у меня есть книга под названием Workbook 1, возможно ли запустить макрос, чтобы скрыть Лист 1 , Лист 2 , Лист 3 с Workbook 2? Подвох в том, что если имена листов содержат Sheet , они должны быть скрыты. Спасибо заранее за любые данные! :)

1 Ответ

1 голос
/ 03 апреля 2020

Я думаю, этот код должен делать то, что вы хотите. Пожалуйста, попробуйте это. Он будет скрывать все листы, чье имя начинается с «Лист», за исключением того, что он сохранит один, если нет листа, который не соответствует требованиям.

Sub HideSheets()

    Dim WbName As String
    Dim Wb As Workbook
    Dim Ws As Worksheet
    Dim i As Integer

    WbName = "Test.xlsx"                    ' specify the target

    On Error Resume Next
    Set Wb = Workbooks(WbName)
    If Err.Number = 0 Then
        On Error GoTo 0
        With Wb
            If InStr(1, .ActiveSheet.Name, "Sheet", vbTextCompare) = 1 Then
                ' ensure that the ActiveSheet will not be hidden
                For i = 1 To (.Worksheets.Count - 1)
                    Set Ws = .Worksheets(i)
                    If InStr(1, Ws.Name, "Sheet", vbTextCompare) <> 1 Then Exit For
                Next i
                Ws.Activate
            End If

            For Each Ws In Wb.Worksheets
                If Not Ws Is .ActiveSheet Then
                    If InStr(1, Ws.Name, "Sheet", vbTextCompare) = 1 Then
                        Ws.Visible = xlSheetHidden
                        ' replace with xlSheetVeryHidden to exclude the sheet
                        ' from the list of hidden worksheets accessible by the
                        ' user. VerHidden worksheets can only be made visible
                        ' from the VB Editor Project Explorer window or using code.
                    End If
                End If
            Next Ws
        End With
    Else
        MsgBox "The workbook """ & WbName & """ must be open.", _
               vbInformation, "Failure notice"
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...