20230611 excel按鼠标列内容间隔设置背景色

在经常处理大量excel数据时,某列数据在不定数的行里重复,很希望有个功能:可以在这个参数发生变化时提示一下。到处找不到工具,只好自己动手做了一个,分享给需要的人。
功能:背景色随鼠标所在列内容发生变化时就改变。例:
A列数据内容每一行都不同,鼠标放在A列任意行,背景色就变成均匀的间隔色。
B列数据内容变化没规律,鼠标放在B列任意行,背景色跟随B列内容而变化。

实现:
1 新建一个excel文件,Alt +F11进入编程环境
2 双击模块1,在右边的代码区,写入如下代码

'把活动区域按光标所在列的值突出显示,相邻行相同值一个颜色,交替
Sub RitaColor()
Dim s1, s2 As String
Dim myRng, myrow As Range
Dim cor1, cor2, cor As Integer '交替显示的颜色
Dim intcol, intusingflag As Integer

'设置色号 19&44 黄色
cor1 = 20
cor2 = 37


intcol = ActiveCell.Column
Set myRng = ActiveCell.CurrentRegion '设当前活动单元格所在区域为要处理的区域
   
intusingflag = 1 '对2取余,0 cor1,1 cor2
    
For Each myrow In myRng.Rows
    s2 = Cells(myrow.row, intcol)
    
    If s2 <> s1 Then
        intusingflag = intusingflag + 1
        s1 = s2
    End If
    
    If intusingflag Mod 2 = 0 Then
        cor = cor1
    Else
        cor = cor2
    End If
    
    '如果用colorIndex设置,不能大于56
    myrow.Interior.ColorIndex = cor
    'myrow.Interior.Color = cor
Next

End Sub

3 关闭代码环境,excel文件另存为可加载宏文件,如MyTool.xlam
4 excel 文件-选项-加载项,选管理-excel加载项-转到

5 浏览,找到刚刚保存的MyTool.xlam(我这里文件名为Ritasmodule),确定

6 回到excel界面,右键菜单区域,选自定义功能区
7 下拉选宏

就会出来刚刚做的代码

8 右边点击新建选项卡,右键刚新建的选项卡,修改名字,假设改为MyTool,鼠标选中新建组

9 左边选中宏中的程序名,点添加,就把这个功能添加到新定义的选项卡下了,确定

10回到excel编辑界面,菜单栏上已经有了刚刚增加的功能。以后打开别的excel文件,都可以用啦。

缺点是,如果原本有背景色,会被覆盖。我想了一下,如果要能恢复到以前颜色,还挺麻烦的,算了,就这样吧,人不能太贪心。

posted on   meiyangsz  阅读(210)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示