在实际工作中,我们常常需要编辑隐藏或者显示指定的 Excel 区域内容,当然我们可以手动选择然后点击对应功能按钮进行隐藏与显示,但是这样操作起来总显得有些麻烦。Excel中有一个 Range 的概念,指的是指定的单元格区域,并且 Range 可以被自定义命名,我们可以利用这一特性,通过 VBA 依次隐藏显示指定的单元格区域。

首先我们需要对需要隐藏的区域逐一命名,命名的方式就是直接选中某多个行或者列在左上角“名称框”中输入对应的名称就行,这里以“Area+‘序号’”的形式命名,方便后期遍历。命名错误的区域可以在“公式/名称管理器”下进行修改。

命名完成后进入开发工具/VBA编辑器,新建一个模块,将以下代码复制进去。

Public i As Integer, sRng As String
Sub rngIncrease()
    If i < 2 Then
        i = 2
    ElseIf i > 9 Then
        i = 9
    End If
    sRng = "Area" & i
    Range(sRng).EntireColumn.Hidden = False
    i = i + 1
End Sub
Sub rngDecrease()
    If i < 2 Then
        i = 2
    ElseIf i > 9 Then
        i = 9
    End If
    sRng = "Area" & i
    Range(sRng).EntireColumn.Hidden = True
    i = i - 1
End Sub

复制完成后回到对象窗口,插入表单控件按钮,分别绑定刚才复制进去的宏代码即可。隐藏掉需要隐藏的区域,然后通过点击“显示”与“隐藏”即可控制指定区域的显示与隐藏了。

当然,这只是一个小例子,具体的大家可以灵活运用。