鼠标随动指定区域高亮显示(Excel聚光灯)

2024-01-09 14:52

本文主要是介绍鼠标随动指定区域高亮显示(Excel聚光灯),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实例需求:工作表中数据表实现跟随鼠标选中高亮效果,需要注意如下几个细节需求

  • 数据表为连续区域,但是不一定从A1单元格开始
  • 数据表的前两行(标题行)不使用高亮效果
  • 数据表中已经应用了条件格式,高亮显示取消后,不应破坏已经设置的条件格式
  • 如果选中整列,则不启用高亮显示

演示效果如下图所示。

请添加图片描述
示例代码如下。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim rowsRng As Range, useRng As Range, oFC As FormatConditionSet useRng = Me.UsedRange.Resize(Me.UsedRange.Rows.Count - 2).Offset(2)For Each oFC In useRng.FormatConditionsIf oFC.Formula1 = "=TRUE" Then oFC.DeleteNextIf Target.Rows.Count < Me.Rows.Count ThenSet rowsRng = Application.Intersect(Target.EntireRow, useRng)If Not rowsRng Is Nothing ThenSet oFC = rowsRng.FormatConditions.Add(Type:=xlExpression, Formula1:="True")With oFC.SetFirstPriority.Interior.Color = RGB(255, 235, 156).StopIfTrue = TrueEnd WithEnd IfEnd If
End Sub

【代码解析】
第3行代码获取需要设置高亮显示的数据表区域(不含标题行)。
第4~6行代码遍历数据表区域中的条件格式,根据公式删除Worksheet_SelectionChange事件创建的条件格式,如果数据表中没有使用其他条件格式,那么无需判断,全部清除即可。
第7行代码判断是否选中了整列。
第8行代码获取选中区域所在行与数据表区域的交叉部分(下文中成为高亮区域)。
第9行代码判断高亮区域是否为空。
第10行代码在高亮区域添加一个条件格式,其公式为=TRUE
第12行代码设置条件格式最高优先级。
第13行代码设置高亮填充颜色。
第14行代码设置条件为真则停止,避免被其他条件格式覆盖。

这篇关于鼠标随动指定区域高亮显示(Excel聚光灯)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/587503

相关文章

C#实现将XML数据自动化地写入Excel文件

《C#实现将XML数据自动化地写入Excel文件》在现代企业级应用中,数据处理与报表生成是核心环节,本文将深入探讨如何利用C#和一款优秀的库,将XML数据自动化地写入Excel文件,有需要的小伙伴可以... 目录理解XML数据结构与Excel的对应关系引入高效工具:使用Spire.XLS for .NETC

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S

Java利用Spire.XLS for Java自动化设置Excel的文档属性

《Java利用Spire.XLSforJava自动化设置Excel的文档属性》一个专业的Excel文件,其文档属性往往能大大提升文件的可管理性和可检索性,下面我们就来看看Java如何使用Spire... 目录Spire.XLS for Java 库介绍与安装Java 设置内置的 Excel 文档属性Java

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

C#实现将Excel工作表拆分为多个窗格

《C#实现将Excel工作表拆分为多个窗格》在日常工作中,我们经常需要处理包含大量数据的Excel文件,本文将深入探讨如何在C#中利用强大的Spire.XLSfor.NET自动化实现Excel工作表的... 目录为什么需要拆分 Excel 窗格借助 Spire.XLS for .NET 实现冻结窗格(Fro

使用Python实现高效复制Excel行列与单元格

《使用Python实现高效复制Excel行列与单元格》在日常办公自动化或数据处理场景中,复制Excel中的单元格、行、列是高频需求,下面我们就来看看如何使用FreeSpire.XLSforPython... 目录一、环境准备:安装Free Spire.XLS for python二、核心实战:复制 Exce

pandas批量拆分与合并Excel文件的实现示例

《pandas批量拆分与合并Excel文件的实现示例》本文介绍了Pandas中基于整数位置的iloc和基于标签的loc方法进行数据索引和切片的操作,并将大Excel文件拆分合并,具有一定的参考价值,感... 目录一、Pandas 进行索引和切编程片的iloc、loc方法二、Pandas批量拆分与合并Exce

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5