Командная кнопка для нескольких листов - PullRequest
0 голосов
/ 15 октября 2019

у меня 3 листа. На каждом листе есть командная кнопка.

Я хочу, чтобы на одном листе действовали другие два.

Можете ли вы дать мне несколько советов, что мне делать? Благодарю.

Private Sub CommandButton1_Click()
  Dim cell As Range
    For Each cell In Range("J9:J137")
        If Not IsEmpty(cell) Then
            If cell.Value = 0 Then
                cell.EntireRow.Hidden = False
            End If
        End If
    Next
End Sub

Private Sub CommandButton2_Click()
  Dim cell As Range
    For Each cell In Range("J9:J137")
        If Not IsEmpty(cell) Then
            If cell.Value = 0 Then
                cell.EntireRow.Hidden = True
            End If
        End If
    Next
End Sub

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Думаю, я нашел решение:

Option Explicit

Sub Button8_Click()
    Dim xSh As Worksheet
    Application.ScreenUpdating = False

    For Each xSh In Worksheets
        xSh.Select
        Call CommandButton2_Click
    Next

    Application.ScreenUpdating = True

End Sub

Private Sub CommandButton1_Click()
  Dim cell As Range

    For Each cell In Range("J9:J137")
       If cell.Value = 0 Then
           cell.EntireRow.Hidden = False
       End If
    Next

End Sub

Private Sub CommandButton2_Click()
    Dim cell As Range

    For Each cell In Range("J9:J137")
       If cell.Value = 0 Then
           cell.EntireRow.Hidden = True
       End If
    Next

End Sub
0 голосов
/ 16 октября 2019

Если у вас есть 3 листа: Sheet1, Sheet2, Sheet3 и на первом Вы получили кнопку, которая вызывает действия кнопок на других 2 листах, присвойте приведенный ниже код кнопке на Sheet1:

Sub ButtonOnFirstSheet()

Call CommandButton1_Click
Call CommandButton2_Click

End Sub

и хотел бы немного изменить ваш код, чтобы быть уверенным, что он будет соответствовать правильному листу:

Private Sub CommandButton1_Click()
Dim cell As Range

With Sheets("Sheet2")
    For Each cell In .Range("J9:J137")
        If Not IsEmpty(cell) Then
            If cell.Value = 0 Then
                cell.EntireRow.Hidden = False
            End If
        End If
    Next
End With

End Sub

Private Sub CommandButton2_Click()
Dim cell As Range
With Sheets("Sheet3")
    For Each cell In .Range("J9:J137")
        If Not IsEmpty(cell) Then
            If cell.Value = 0 Then
                cell.EntireRow.Hidden = True
            End If
        End If
    Next
End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...