Скрыть несколько строк в разных схемах - PullRequest
0 голосов
/ 18 января 2019

Этот код скрывает строки на вкладке «Таблица данных», все строки, которые он скрывает на вкладке «Таблица данных». Я хочу, чтобы он скрывался на других моих 3 вкладках, чтобы они все выглядели одинаково, но мне трудно заставить его работать ,

     Private Sub DeleteRows_Click()
        Dim FinalCell as String

        Sheets("Datasheet").Activate
        Sheets("Datasheet").Select
        FinalRow = 0
        y = 0
        Z = 7                               'Column to check for blanks (7 = "G")
        Z1 = 1                              'Last Valid Row
        Z2 = 1                              'Used used to determine how many columns to look for data in last row

        'Find Final Row with data Z2 represents how many columns to look for any data at all
        '300 = "KN"

        For x = 1 To Z2
            y = Cells(Rows.Count, x).End(xlUp).Row
            If FinalRow < y Then FinalRow = y
        Next x

       'Find Final Row with data Z represents Final Row with data in specified column

        For x = Z To Z
            y = Cells(Rows.Count, x).End(xlUp).Row
            If FinalRow < y Then FinalRow = y
        Next x

        Z1 = y 'Reset Z1 to stop deleting at last data in specified column

        'Look for blanks in column Z
        For x = FinalRow To Z1 Step -1       'Loop counts up from last row
            CellGot = Worksheets("Datasheet").Cells(x, Z)

            'Empty and Null are both possibilities for blanks
            If Worksheets("Datasheet").Cells(x, Z) = "" Or Worksheets("Datasheet").Cells(x, Z) = "Empty" Then
                FinalCell = x & ":" & x
                Rows(FinalCell).Hidden = True      'Deletes the row
            End If
        Next x


End Sub

1 Ответ

0 голосов
/ 18 января 2019

Если это единственные рабочие листы в вашей рабочей книге, тогда добавьте Dim w as Worksheet вверху вашего подпункта и измените

    If Worksheets("Datasheet").Cells(x, Z) = "" Or Worksheets("Datasheet").Cells(x, Z) = "Empty" Then
        FinalCell = x & ":" & x
        Rows(FinalCell).Hidden = True      'Deletes the row
    End If

К

    If Worksheets("Datasheet").Cells(x, Z) = "" Or Worksheets("Datasheet").Cells(x, Z) = "Empty" Then
        FinalCell = x & ":" & x
        For Each w In ThisWorkbook.Worksheets
            w.Rows(FinalCell).Hidden = True
        Next w
    End If

Если они не единственные рабочие листы в вашей книге,

    If Worksheets("Datasheet").Cells(x, Z) = "" Or Worksheets("Datasheet").Cells(x, Z) = "Empty" Then
        FinalCell = x & ":" & x
        Worksheets("DataSheet").Rows(FinalCell).Hidden = True
        Worksheets("YourSheet1").Rows(FinalCell).Hidden = True
        Worksheets("YourSheet2").Rows(FinalCell).Hidden = True
        Worksheets("YourSheet3").Rows(FinalCell).Hidden = True
    End If
...