在Excel中我们经常需要对输入的表格内容添加边框,一般的操作步骤是,先输入内容,再设置边框。但这样的问题在于,如果我们下次还要继续输入内容,还要再次添加边框,如果删除内容,还要手动去除边框。
那有没有一种方法,可以跟随我们的输入内容同步变化,输入内容之后自动添加边框,删除内容自动去除边框?就如同下图这样:
有2种基本方法可以实现上述效果,一种是利用条件格式,一种是利用VBA代码。
一、条件格式法
首先全选整个工作区,在『开始』菜单下找到『条件格式』『新建规则』,然后选择『使用公式确定要设置格式的单元格』,并在下方文本框中输入公式=A1<>"",最后点击『格式』,设置合适的边框样式即可。
二、VBA法
在『开发工具』菜单找到『Visual Basic』,点击打开VBE窗口,双击左侧的Sheet1项目,在右侧输入如下代码,保存即可生效:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each a In UsedRange If a <> "" Then a.Borders.LineStyle = xlContinuous ElseIf a = "" Then a.Borders.LineStyle = xlNone End If NextEnd Sub
如下图所示。
代码的原理很简单,就是只要工作表发生变化,比如点击不同单元格,输入或删除内容,就会触发Worksheet_SelectionChange事件。这个事件会遍历整个数据块中的每一个单元格,如果内容不为空则设置边框样式,如果内容为空则去除边框样式。
注:如果你的菜单栏没有『开发工具』这一项,可以在『文件』菜单下找到『选项』命令,点击打开Excel的设置窗口。在『自定义功能区』最右侧,勾选『开发工具』复选框,点击『确定』即可开启。