无需离开页面即可运行宏

时间:2013-04-10 18:00:32

标签: excel vba excel-vba checkbox

我有一个复选框,可以在选中时运行此宏。复选框位于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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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