需要复选框以隐藏和取消隐藏空行

时间:2016-09-02 16:41:42

标签: excel

我有以下内容,我试图隐藏空的行并用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

1 个答案:

答案 0 :(得分:0)

  1. 在功能区的“开发人员”选项卡上,在“控件”部分中,单击“插入”下拉列表,然后单击“ActiveX控件”部分中的复选框控件(不是“表单”中的复选框控件)控制“部分”

  2. 点击您希望显示复选框的表单

  3. 双击该复选框,并在自动生成的CheckBox1_Click方法中(假设这是表单上的第一个复选框),请调用您的方法:Sample

  4. Sample方法中,执行下面的替换

  5. 在功能区的“开发人员”选项卡上,在“控件”部分中,单击“设计模式”按钮以关闭设计模式(否则您将无法选中并取消选中您的复选框)

  6. 替换它:

    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