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