Ошибка при скрытии листов на основе значения ячейки на мастер-листе - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь изучить макросы и создаю код, чтобы скрыть определенные листы, давая да или нет.использовал приведенный ниже код, но получая ошибку сценария

В мастер-листе я упомянул все имена листов в столбце H (строка № 5 и далее) и упомянул «Да» или «Нет» для отображения или скрытиято же самое

Sub Button2_Click()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Master")
Dim i

Application.ScreenUpdating = False
    For i = 4 To ws.Range("I" & ws.Rows.Count).End(xlUp).Row
        If ws.Range("I" & i) = "Yes" Then
            ThisWorkbook.Sheets(i - 2).Visible = xlSheetVisible
        ElseIf ws.Range("I" & i) = "No" Then
            ThisWorkbook.Sheets(i - 2).Visible = xlSheetHidden
            End If
            Next i
Application.ScreenUpdating = True
End Sub

1 Ответ

0 голосов
/ 22 июня 2019

Это будет работать:

Sub Button2_Click()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Master")
Dim i As Integer

Application.ScreenUpdating = False

    For i = 5 To ws.Range("I" & ws.Rows.Count).End(xlUp).Row

        If ws.Range("I" & i) = "Yes" Then
            ThisWorkbook.Worksheets(ws.Range("H" & i).Value).Visible = xlSheetVisible
        ElseIf ws.Range("I" & i) = "No" Then
            ThisWorkbook.Worksheets(ws.Range("H" & i).Value).Visible = xlSheetHidden
        End If

    Next i

Application.ScreenUpdating = True

End Sub
...