鼠标随动指定区域高亮显示(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

相关文章

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

韦季李输入法_输入法和鼠标的深度融合

在数字化输入的新纪元,传统键盘输入方式正悄然进化。以往,面对实体键盘,我们常需目光游离于屏幕与键盘之间,以确认指尖下的精准位置。而屏幕键盘虽直观可见,却常因占据屏幕空间,迫使我们在操作与视野间做出妥协,频繁调整布局以兼顾输入与界面浏览。 幸而,韦季李输入法的横空出世,彻底颠覆了这一现状。它不仅对输入界面进行了革命性的重构,更巧妙地将鼠标这一传统外设融入其中,开创了一种前所未有的交互体验。 想象

遮罩,在指定元素上进行遮罩

废话不多说,直接上代码: ps:依赖 jquer.js 1.首先,定义一个 Overlay.js  代码如下: /*遮罩 Overlay js 对象*/function Overlay(options){//{targetId:'',viewHtml:'',viewWidth:'',viewHeight:''}try{this.state=false;//遮罩状态 true 激活,f

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

Unity3D自带Mouse Look鼠标视角代码解析。

Unity3D自带Mouse Look鼠标视角代码解析。 代码块 代码块语法遵循标准markdown代码,例如: using UnityEngine;using System.Collections;/// MouseLook rotates the transform based on the mouse delta./// Minimum and Maximum values can

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

C# dateTimePicker 显示年月日,时分秒

dateTimePicker默认只显示日期,如果需要显示年月日,时分秒,只需要以下两步: 1.dateTimePicker1.Format = DateTimePickerFormat.Time 2.dateTimePicker1.CustomFormat = yyyy-MM-dd HH:mm:ss Tips:  a. dateTimePicker1.ShowUpDown = t