【分享成果,随喜正能量】世人贪婪,总想寻找两全,但这世间难有什么两全之策,人生百年,不过是教人如何取舍。人生,用加法的方式去爱人;用减法的方式去怨恨;用乘法的方式去感恩。有得有失才是人生常态,用一颗平常心面对得失,渐渐地你会发现,凡事看开,好运自来。
《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一下把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第15讲:如何对单元格区域进行高亮显示
第十五讲 如何对单元格区域进行高亮显示
大家好,今日继续给大家讲解VBA代码解决方案,今日的内容是第十五讲,如何利用VBA代码完成对选择区域单元格的高亮显示。在实际工作中VBA方案的应用非常的广泛,巧妙的利用这些方案可以提高自己的工作效率,同时可以增加自己程序的美观效果。
1 利用ColorIndex属性对活动单元格区域进行突出显示
如果希望以某种方式突出显示活动单元格或者指定的单元格区域,从而一目了然地获得某些信息,那么可以高亮显示活动单元格区域,如下面的代码所示。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
Target.Interior.ColorIndex = 36
End Sub
代码解析:上述代码实现了设置工作表当前选定区域单元格的内部填充颜色,以高亮显示选定区域。这里设置的是淡黄色。
1) 第2行代码将工作表中所有的单元格的内部填充颜色设置为xlColorIndexNone,即取消单元格的内部填充颜色。
2) 第3行代码将工作表中选定单元格的内部填充颜色设置为36。应用于Interior对象的ColorIndex属性返回或设置边框内部的颜色。该颜色可指定为当前调色板中颜色的编号或为 XlColorIndex 常量之一:xlColorIndexAutomatic(指定对图形对象自动填充)、xlColorIndexNone(用于指定无内部填充)。
运行效果:
2 突出显示指定区域内的行和列
可以突出显示指定区域内的行列,如下面的代码所示。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Cells.Interior.ColorIndex = xlNone
Set rng = Application.Union(Target.EntireColumn, Target.EntireRow)
rng.Interior.ColorIndex = 36
End Sub
代码截图:
代码解析:设置工作表当前选定区域单元格内部填充颜色,高亮显示活动单元格所在的行和列。
1) 第4行代码使用Union方法将所选单元格所在的行、列连接起来成为一个区域。
2) 使用此方法时,工作表中所有设置的单元格内部填充颜色将会被清除。(不包括通过条件格式设置的单元格内部填充颜色),同时无法在工作表中实现复制粘贴功能。
运行结果:
今日内容回向:
1 Worksheet_SelectionChange 动作的意义是什么?
2 Application.Union(Target.EntireColumn, Target.EntireRow) 的意义是什么?
3 读者是否按照截图实现了运行效果呢?
本讲内容参考程序文件:VBA代码解决方案修订(1-48).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解
第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程
第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)
第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解
第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解
第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用
第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解
第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用
上述教程的学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5。
② 7→8