vba 字体颜色_Excel条件格式,选中区域自动变颜色,领导同事看后都夸我厉害

在日常工作中,为了呈现出所选择区域数据的重要性,通常是标注一个颜色,或者字体加粗,达到更加醒目的效果。但是如果选择的区域更换比较频繁,手动改色调字体比较麻烦,而且当你选择下一个区域的时候还要对本区域进行还原,那就更加麻烦了。其实这个工作可以交给条件格式来完成。效果就是下面的动图。

99bb15adc1162c3c94fe4f475a380e90.gif

要得到这个效果,需要使用函数和VBA结合完成。

VBA工作表事件

工作表事件是VBA的内容,不了解VBA也没有关系,按照本文的操作步骤做即可。

1、鼠标放在工作表名上,鼠标右键,查看代码

138408c00d7d96cc36645a68c6c91750.png

2、进入VBA编辑界面后,把代码复制进去,如下图所示

2141b450eb1c96e717e65125fdd97542.png

复制下面代码(黑色加粗部分)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, [B2:H15]) Is Nothing Then [j2] = Target.Address

End Sub

代码解析(这里不是代码,不要复制到这里哦):

(1)、SelectionChange就是当选择区域发生变化时,就会触发代码运行。

(2)、Intersect(Target, [B2:H15])交集的意思,指选择的区域跟B2:H15这个区域发生交集才触发,也可以理解为,只有选择B2:H15这个区域内代码才会触发。

(3)、如果把If Not Intersect(Target, [B2:H15]) Is Nothing Then这一句删除,代码也能运行,删除后选择任何区域都会触发代码运行。

(4)、[j2] = Target.Address这一句的意思是说,把鼠标选择区域的地址写入到j2这个单元格里。

3、点击任意单元格测试代码运行,看下J2单元格是否显示所选择区域的地址

82a963f80f1a25075cfd55c17aaac8cd.gif

此时无论是选择一个单元格或者是选择一个区域,J2单元格都会显示对应的地址

条件格式写入公式

1、选择条件格式的区域

957590d4084bf4f2d1de4fc29f535a65.png

2、来到开始选项卡,点击条件格式,在跳出的菜单中选择最下面的管理规则

2a73e694b0192168a6d69705b2dbde9e.png

3、选择新建规则

d822485df5b0c5846c7e01bb58619bb7.png

4、点击使用公式确定要设置格式的单元格,然后在红框处输入公式

43957c61ea779a1e139344e55d094bbe.png

复制下面公式(黑色加粗部分)

=MATCH(ROW(B2),ROW(INDIRECT($J$2)),)+MATCH(COLUMN(B2),COLUMN(INDIRECT($J$2)),)

公式解析(这里不是公式,请不要复制到这里哦):

(1)、两组函数中间的+号不是真正意义上的加,而是“或者”的意思,也就是OR函数的意思,也可以把公式写成=OR(MATCH(ROW(B2),ROW(INDIRECT($J$2)),),MATCH(COLUMN(B2),COLUMN(INDIRECT($J$2)),))

(2)、其实在这里使用OR还是AND效果是一样的,AND也可以理解为乘,所以公式也可以写成=MATCH(ROW(B2),ROW(INDIRECT($J$2)),)*MATCH(COLUMN(B2),COLUMN(INDIRECT($J$2)),)

(3)、公式就是让这个区域的每个单元格(公式里用B2代替)的行号和列号通过MATCH函数查询是否被所选择区域的行号和列号包含其中,如果包含自然就是TRUE,不包含就是FALSE

(4)、条件格式里的公式并不“在意”算出来的结果,而是“在意”是否为正常运行,还是报错。也就是能算出结果就是TURE,算不出来报错了那自然就是FALSE

(5)、INDIRECT这个函数没有什么含义,就是为了重新定义J2里面的地址,否则ROW和COLUMN函数无法识别这个地址。

(6)、还有一个点需要注意了,这里MATCH函数的第三个参数是简写写法,千万不要漏输了那个逗号,否则就不是绝对匹配了,就达不到效果了。

5、选择调整的格式,底色,字体加粗,字体颜色

点击格式

93385429ab519aac9aaa0598221095cf.png

来到填充,选择一个颜色,本文选中了黄色

f01b0dd96bdfac581fd2519ce06d938b.png

再来到字体,选择加粗,选择字体颜色为红色,然后点击确认

eaaa80bb0d87f01aedfce1e3a1a33ef1.png

此时当你的鼠标再次选择这个表格区域的时候,就会出现本文开头的效果了。

6bbfdfb5670a450987c975a482119a0e.png

保存代码

由于涉及到VBA代码,所以普通工作簿是无法保存代码的,点击文件,点击另存为,保存类型选择启用宏的工作簿,然后再点击保存,这样才能保存VBA代码。

b5879b871aad0876f8f6aefd7b456526.png

好了,关于条件格式就分享到这里。

如果这篇文章能帮助到你,请帮忙点赞、收藏、转发。

本文由快学Excel原创,欢迎大家关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值