0

我有一个复选框,选中时将运行此宏。该复选框位于 sheet1 中,它将隐藏 sheet2 中的第 11 行。如何编写此代码,这样我就不必在工作表之间来回切换?

Sub Hide_HeaterTreater_Rows()

  Sheets("NSR Report").Select
  Range("11:11").Select
If Selection.EntireRow.Hidden = False Then
  Selection.EntireRow.Hidden = True
Else
  Selection.EntireRow.Hidden = False
  End If

Sheets("NSR FORM").Select

End Sub
4

2 回答 2

3

用复选框切换可见性似乎有点奇怪:我认为使用复选框的值来设置可见性会更好......

Sub Hide_HeaterTreater_Rows()
  With Sheets("NSR Report").Rows(11).EntireRow  
    .Hidden = Not .Hidden
  End With
End Sub

编辑:多行

Sub Hide_HeaterTreater_Rows()
  With Sheets("NSR Report").Range("11:11,24:24").EntireRow  
    .Hidden = Not .Hidden
  End With
End Sub
于 2013-04-10T18:27:47.753 回答
0
Sub Hide_HeaterTreater_Rows()
    Sheets("NSR Report").Rows(11).EntireRow.Hidden = Not Sheets("NSR Report").Rows(11).EntireRow.Hidden
End Sub

但我你可能想使用

Sub Hide_HeaterTreater_Rows()
    Sheets("NSR Report").Rows(11).EntireRow.Hidden = Sheets("NSR FORM").Shapes("CheckBox1").Value
End Sub
于 2013-04-10T18:27:57.663 回答