1

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

В столбце "I" моего листа я указал значения, которые используют "0" и хотят код, который скрывает и отображает строки, соответствующие значению "0" в столбце "I".

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

Это код, с которым я работал, но мне не повезло с его корректным запуском. Буду очень признателен, если кто-нибудь может помочь!

Private Sub ToggleButton1_Click()
Dim xAddress As String
xAddress = "I"
If ToggleButton1.Value Then
    Application.ActiveSheet.Rows(xAddress).Hidden = True
Else
    Application.ActiveSheet.Columns(xAddress).Hidden = False
End If
End Sub

Private Sub PG1(ByVal Target As Range)
    If .Range("E7").Value = "Passed" Then
        Rows("7:491").EntireRow.Hidden = True
    End If
    ElseIf Range("E7").Value = "Failed" Then
        Rows("7:491").EntireRow.Hidden = True
    End If
End Sub

1 ответ1

0

На своем тестовом листе я создал 2 кнопки переключения:

  • ToggleButton1 (скрывает и показывает 0 в столбце I)
  • ToggleButton2 (скрывает и показывает строки 7:491)

Вот код для обоих:


Option Explicit

Private Sub ToggleButton1_Click()
    With Me
        If .ToggleButton1.Value = False Then
            If .AutoFilterMode Then .UsedRange.AutoFilter
            .ToggleButton1.Caption = "Hide 0's"
        Else
            .UsedRange.Columns(9).AutoFilter Field:=1, Criteria1:="<>0"
            .ToggleButton1.Caption = "Show 0's"
        End If
    End With
End Sub


Private Sub ToggleButton2_Click()
    Dim e7 As String, changed As Boolean

    With Me
        e7 = .Range("E7").Value2
        If .ToggleButton2.Value = False Then
            .Rows("7:491").EntireRow.Hidden = False
            .ToggleButton2.Caption = "Hide Rows"
        Else
            changed = (e7 = "Passed" Or e7 = "Failed")
            .Rows("7:491").EntireRow.Hidden = changed
            If changed Then .ToggleButton2.Caption = "Show All Rows"
        End If
    End With
End Sub

При скрытии и отображении строк с кнопками на них, кнопки могут быть перемещены или скрыты так

В режиме дизайна:

  • Щелкните правой кнопкой мыши каждую кнопку
  • Выберите Format Control
  • Перейти на 3-ю вкладку (Свойства)
  • Выберите «Не двигаться или размер с ячейками»

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .