在日常工作中,为了显示所选区域数据的重要性,通常是标注一种颜色或加粗字体,以达到更醒目的效果。但是如果选择的区域经常改变,手动改变音色字体就比较麻烦,选择下一个区域再恢复这个区域就更麻烦了。其实这个工作可以通过条件格式来完成。效果就是下面的动画。
要获得这种效果,你需要使用函数和VBA的组合。
工作表事件
工作表是VBA的内容。如果你不了解VBA也没关系。按照本文中的操作步骤即可。
1。将鼠标放在工作表名称上,单击右键查看代码
2。进入VBA编辑界面后,***代码,如下图所示
***以下代码(黑色粗体部分)
Private Sub Worksheet _ selection change(ByVal Target As Range)
如果不相交(目标,[B2:H15])则什么也不是,然后[j2] =目标。地址
End Sub
代码分析(这不是代码,不要***到这里):
(1)、SelectionChange是当选择区域发生变化时,会触发代码运行。
(2)相交(目标,[B2:H15])表示所选区域只有在与B2:H15相交时才会被触发。也可以理解为B2:H15中的代码只有被选中才会被触发。
(3)如果删除“if not intersect (target,[B2:h15])nothing then”这句话,代码也可以运行。删除后选择任何区域都会触发代码运行。
(4)句子[j2] =目标。Address表示将鼠标选择区域的地址写入单元格j2。
3。单击任意单元格以测试要运行的代码,并查看J2单元格是否显示所选区域的地址
此时,无论您选择一个单元格还是一个区域,J2单元格都会显示相应的地址。
条件格式写作公式
1。选择条件格式的区域
2。转到Start选项卡,单击Conditional For***t,并从弹出的菜单中选择最底层的管理规则
3。选择新规则
4。单击“使用公式”确定要格式化的单元格,然后在红色框中输入公式
***以下公式(黑色粗体部分)
=MATCH(ROW(B2),ROW(INDIRECT($J)),)+MATCH(COLUMN(B2),COLUMN(INDIRECT($J)),)
公式分析(这不是公式,请不要***到这里):
(1)两组函数中间的+号其实不是加法,而是“或”的意思,即或函数的意思。也可以将公式写成= OR (***tch (row (B2),row (indirect ($ j )),),***tch (column (B2),column (indirect ($美元
(2)实际上,在这里用OR或AND有同样的效果,也可以理解为乘法,所以公式也可以写成= ***tch (row (b2),row(indirect($ j $ 2))* ***tch(column(B2),column (indirect ($ j )),)
(3)公式是让该区域每个单元格的行号和列号(公式中代入B2)通过MATCH函数查询是否被所选区域的行号和列号包含。自然收录的话是真的,不收录的话是假的。
(4)条件格式中的公式并不“关心”计算的结果,而是“关心”它是正常运行还是出错。也就是说,结果可以算出来是真的,但不算出来自然就是假的。
(5)间接函数没有任何意义,只是重新定义J2的地址,否则行和列函数不能识别这个地址。
(6)还有一点需要注意。这里,MATCH函数的第三个参数是缩写的。不要漏掉那个逗号,否则就不是绝对匹配,达不到效果。
5。选择调整后的格式、背景色、粗体和字体颜色
单击格式
来填充,选个颜色,本文选的是***。
转到字体,选择粗体,选择字体颜色为红色,然后单击确定。
此时,当你的鼠标再次选中这个表格区域时,就会出现本文开头的效果。
保存代码
因为涉及到VBA码,普通工作簿无法保存代码。单击“文件”,单击“另存为”,选择“启用宏的工作簿”作为保存类型,然后单击“保存”保存VBA代码。
好了,这里分享一下条件格式。
本文来自莫失莫忘投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/603518.html