我有以下内容,我试图隐藏空的行并用CHECKBOX将它们带回来,以便我可以在需要时添加行。我不想删除它们。
Sub Sample()
Dim i As Long
Dim DelRange As Range
On Error GoTo Whoa
Application.ScreenUpdating = False
For i = 1 To 250
If Application.WorksheetFunction.CountA(Range("A" & i & ":" & "L" & i)) = 0 Then
If DelRange Is Nothing Then
Set DelRange = Rows(i)
Else
Set DelRange = Union(DelRange, Rows(i))
End If
End If
Next i
If Not DelRange Is Nothing Then DelRange.Delete shift:=xlUp
LetsContinue:
Application.ScreenUpdating = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub
答案 0 :(得分:0)
在功能区的“开发人员”选项卡上,在“控件”部分中,单击“插入”下拉列表,然后单击“ActiveX控件”部分中的复选框控件(不是“表单”中的复选框控件)控制“部分”
点击您希望显示复选框的表单
双击该复选框,并在自动生成的CheckBox1_Click
方法中(假设这是表单上的第一个复选框),请调用您的方法:Sample
在Sample
方法中,执行下面的替换
在功能区的“开发人员”选项卡上,在“控件”部分中,单击“设计模式”按钮以关闭设计模式(否则您将无法选中并取消选中您的复选框)
替换它:
If Not DelRange Is Nothing Then DelRange.Delete shift:=xlUp
这样,“Sheet1”是工作表的名称,“CheckBox1”是复选框的名称:
If Not DelRange Is Nothing Then DelRange.Rows.Hidden = Sheets("Sheet1").CheckBox1.Value