在实际工作中,我们常常需要编辑隐藏或者显示指定的 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
复制完成后回到对象窗口,插入表单控件按钮,分别绑定刚才复制进去的宏代码即可。隐藏掉需要隐藏的区域,然后通过点击“显示”与“隐藏”即可控制指定区域的显示与隐藏了。
当然,这只是一个小例子,具体的大家可以灵活运用。