在Excel中如何快速筛选非特定颜色
Excel中的自动筛选是个非常强大的工具,不仅可以筛选内容,而且可以筛选颜色,例如筛选A列红色单元格。但是有时希望筛选除了红色之外的单元格(下图右侧所示),其他单元格的填充色不固定,有几种颜色也不固定,那么内置的自动筛选就无能为力,使用VBA还是可以实现的。

示例代码如下。
Sub Demo()Dim helpRng As Range, visRng As RangeDim lastRow As Long, oSht As WorksheetSet oSht = Sheets("Sheet1")If oSht.AutoFilterMode Then oSht.AutoFilterMode = FalselastRow = oSht.Cells(oSht.Rows.Count, 1).End(xlUp).RowWith oSht.Range("A1:E" & lastRow).AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterCellColorSet helpRng = .Columns(.Columns.Count).Offset(, 1)helpRng.EntireColumn.Hidden = FalseOn Error Resume NextSet visRng = helpRng.SpecialCells(xlCellTypeVisible)On Error GoTo 0If Not visRng Is Nothing ThenoSht.AutoFilterMode = FalsehelpRng.ClearvisRng.Value = 1helpRng.AutoFilter Field:=1, Criteria1:=""helpRng.EntireColumn.Hidden = TrueEnd IfEnd With
End Sub
【代码解析】
第4行代码获取工作表对象。
第5行代码如何工作表已经启用自动筛选,请取消当前的自动筛选。
第6行代码获取A列最后数据所在行号。
第7行代码设置表格范围,如果已经创建Excel表格,那么可以直接使用ListObject对象。
第8行代码在第1列应用自动筛选,筛选颜色为红色。
第9行代码在表格右侧添加辅助列。
第10行代码确保辅助类处于显示状态(没有被隐藏),否则第12行无法获取相应的单元格。
第11行代码忽略运行时错误。
第12行代码获取辅助列的可见单元格。
第13行代码恢复系统错误处理机制。
第14行代码如果可见单元格不为空,说明具备红色单元格。
第14行代码取消自动筛选。
第16行代码清空辅助列。
第17行代码将可见单元格(即红色所在行)赋值为1。
第18行代码启用自动筛选,筛选辅助列为空的单元格(即:非红色所在行)。
第19行代码隐藏辅助列。
希望大家不用谈辅助列色变,认为使用辅助类的解决方案,都是很弱智的实现方法,实际上合理使用辅助列,可以更好的利用Excel内置功能,在数据量比较大的应用场景中,这通常比单纯的VBA实现方案更高效,总之,效率为王,英雄不问出身。
相关文章:
在Excel中如何快速筛选非特定颜色
Excel中的自动筛选是个非常强大的工具,不仅可以筛选内容,而且可以筛选颜色,例如筛选A列红色单元格。但是有时希望筛选除了红色之外的单元格(下图右侧所示),其他单元格的填充色不固定,有几种颜色…...
kotlin定时器和主线程定时器
场景 最近要用kotlin写一个每隔一段时间切视频并截图 刷刷的就写出来了,很快啊 timerTask object : TimerTask() {override fun run() {captureWindow()if ((group 1) * 4 > urls.size) {showDialog()timerTask.cancel()timer.cancel()}groupupdatePlayers(…...
vscode不能执行vue命令/ vue : 无法加载文件
问题: 解决: 1. 在Windows应用中找到Windows PowerShell,以管理员运行: 2. 在命令框输入: set-ExecutionPolicy RemoteSigned, 然后输入A即可解决...
1.4 STL C++面试问题
1.4.1 说说STL的基本组成部分 总结 STL 的基本组成部分包括容器、算法、迭代器、函数对象和仿函数和适配器。通过这些组件,STL 提供了高效、灵活和可复用的代码结构,极大地提高了 C 的开发效率和程序的可维护性。STL 的设计思想使得算法和数据结构的使…...
Bash、sh 和 Shell都弄混了?
在Linux和Unix系统中,Bash、sh 和 Shell 都与命令行解释器相关,但它们各自的含义和作用略有不同。以下是它们之间的关系和区别: Shell Shell 是一个通用术语,指的是操作系统中负责解释和执行用户命令的程序。它是用户与操作系统…...
架构师备考专栏-导航页
简介 架构师备考专栏——软考系统架构师考试的学习宝典,集合了全面覆盖架构师考试大纲的精华文章。每篇文章都为本人手输,并校对数遍后发表,在此我保障每篇文章的质量绝对过关。诚邀对架构师软考感兴趣的朋友们收藏此页面,并根据个人所需高效…...
STM32-Cube定时器TIM
一、内部时钟源 1、创建项目 File → New → STM32 project选择STM32F103C8T6单片机,命名TIM 2、配置单片机 1.打开USART1,方便我们与电脑连接查看数据 开启UART1并开启中断。 2、设置时钟源 开启外部高速晶振 将时钟频率设置为72MHz 设置调试模…...
Webpack 是什么? 解决了什么问题? 核心流程是什么?
在前端开发中,Webpack 无疑是一个举足轻重的工具。它作为一个静态资源打包工具,能够帮助开发者将项目中的各种资源高效整合,以便于在浏览器中加载和执行。本文将深入探讨 Webpack 的核心功能、解决的问题以及 Webpack的核心流程。 Webpack是什…...
Jenkins面试整理-Jenkins 的主要用途是什么?
Jenkins 的主要用途 是在软件开发流程中实现自动化,尤其是在持续集成(CI)和持续交付/部署(CD)中。具体来说,Jenkins 的主要用途包括: 1. 持续集成(CI): ● Jenkins 自动从版本控制系统(如 Git、SVN)中拉取代码,自动化地编译、构建和测试代码。 ● 每当开发人员提…...
Linux下使用C/C++进行UDP网络编程
UDP 是User Datagram Protocol 的简称,中文名是用户数据报协议,是一种无连接、不可靠的协议,同样它也是工作在传顺层。它只是简单地实现从一端主机到另一端主机的数据传输功能,这些数据通过 IP 层发送,在网络中传输&am…...
【JavaEE初阶】网络原理—关于TCP协议值滑动窗口与流量控制,进来看看吧!!!
前言 🌟🌟本期讲解关于TCP协议的重要的机制“连接的建立和断开”~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 …...
无人机避障——使用三维PCD点云生成的2D栅格地图PGM做路径规划
着重介绍通过对三维 PCD 点云进行处理生成 2D 栅格地图 PGM,而后将该 PGM 地图充分运用到无人系统路径规划之中,使得无人机能够依据此规划合理避开飞行路线上可能出现的障碍物。(解决如何使用PGM的问题) Hybrid A*算法 参考博客…...
supermall项目上拉加载bug分析
1.bug分析 bug出现的过程是这样的:better-scroll框架会计算滚动内容的高度(通过BScroll对象的scrollerHeight属性记录滚动内容的高度) 由于内容中的图片资源还未加载成功 就已经完成计算 导致计算结果错误 而计算之后 图片资源随之加载完成 这时候better-scroll框架…...
【linux网络编程】| socket套接字 | 实现UDP协议聊天室
前言:本节内容将带友友们实现一个UDP协议的聊天室。 主要原理是客户端发送数据给服务端。 服务端将数据再转发给所有链接服务端的客户端。 所以, 我们主要就是要实现客户端以及服务端的逻辑代码。 那么, 接下来开始我们的学习吧。 ps:本节内容…...
第二届开放原子大赛-开源工业软件算法集成大赛即将启动!
第二届开放原子大赛-开源工业软件算法集成大赛作为开放原子开源基金会组织举办的开源技术领域专业赛事,聚焦开源底座框架平台建设,通过组件化集成的开发模式,丰富平台功能模块,拓展其应用场景,以此促进工业软件生态的繁…...
PXC集群(Percona XtraDB Cluster )
一、简介 基于Galera Cluster技术的开源分布式数据库解决方案,它允许你在多个MySQL服务器之间创建一个同步的多主复制集群。 特点: * 多主复制架构: PXC集群支持多主复制,每个节点都可以同时读写数据,这使得应用程序可以更灵活地进行负载均衡和高可用性设置。* 同步复制:…...
分布式光伏是什么意思?如何高效管理?
分布式光伏系统是指在用户现场或靠近用电现场配置较小的光伏发电供电系统,以满足特定用户的需求。根据通知,分布式光伏系统主要有以下几类定义: 10kV以下电压等级接入,且单个并网点总装机容量不超过6MW的分布式电源:这…...
提问GPT
1 理解GPT AI模型即采用深度学习技术的人工神经网络。 你不会被AI取代,而是会被熟练运用AI的人取代 1.1 问答或对话是普通用户与这一轮新AI产品的典型交互方式。 GPT生成式预训练转换器 了解当前GPT产品的形式: 通用聊天机器人…...
李飞飞团队新突破:低成本高泛化机器人训练法,零样本迁移成功率90%!
在机器人训练中,如何高效地利用模拟环境一直是研究者们关注的重点问题。 近日,美国斯坦福大学李飞飞教授团队提出了一种突破性的“数字表亲”(digital cousins)概念。这一创新方法既保留了数字孪生的优势,又大大降低了…...
PHP内存马:不死马
内存马概念 内存马是无文件攻击的一种常用手段,利用中间件的进程执行某些恶意代码。首先要讲的是PHP不死马,实质上就是直接用代码弄一个死循环,强占一个 PHP 进程,并不间断的写一个PHP shell,或者执行一段代码。 不死…...
深度学习中的优化器:原理与实践
深度学习中的优化器:原理与实践 一、背景与动机 在深度学习中,优化器是模型训练的核心组件,它决定了模型参数如何根据损失函数的梯度进行更新。选择合适的优化器对于模型的训练速度和最终性能至关重要。本文将深入探讨各种优化器的核心原理、…...
咱们今天来唠唠机器人轨迹规划那点事儿。不少小伙伴在玩机械臂的时候总会遇到关节空间和笛卡尔空间轨迹规划的抉择困难症,这俩货到底有什么区别?直接上硬核代码
matlab笛卡尔空间和关节空间轨迹规划 关节空间机器臂多项式轨迹规划定做,353和333多项式轨迹规划和优化关节空间规划有个大杀器——多项式插值。比如要让机械臂从A点平滑运动到B点,咱们可以玩三次多项式(3-3-3)或者五次多项式&…...
别再手动折腾了!用Docker一键部署Oracle 11g开发环境(附阿里云镜像地址)
告别繁琐配置:Docker容器化Oracle 11g开发环境实战指南 每当新项目需要搭建Oracle开发环境时,开发者们总会面临相同的困境——数小时的安装配置、复杂的系统依赖、难以复现的环境问题。传统安装方式不仅消耗宝贵时间,更可能因系统差异导致团…...
简述双亲委派机制以及其优点
面试 概念:加载类的时候先交给自己的父类加载器执行,直到顶层的启动类加载器,如果父加载器能够完成加载,则交给父类加载器,否则自己尝试加载。 优点:保证类的加载的安全性,避免类的重复加载。...
AI持续爆火,相关岗位薪资到底达到了多少,AI大模型岗位薪资真相:多少年包能拿到?普通人如何破局?
“AI相关岗位薪资” 随着AI持续火爆,各大厂也都在招聘相关人才,近日OfferShow专门对AI相关岗位的工资情况进行了一期专题汇总,都是校招岗位年包90W左右年包100W年包80w70W50W左右40W左右54W左右34W左右。 看大家投票可信度还是挺高的…...
如何突破Windows权限壁垒?系统管理专家的秘密武器
如何突破Windows权限壁垒?系统管理专家的秘密武器 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo 在W…...
从零上手Neo4j Desktop:CSV数据导入与核心Cypher操作指南
1. Neo4j Desktop环境准备与数据导入 第一次打开Neo4j Desktop时可能会被它的界面搞得有点懵,别担心,我刚开始用的时候也这样。这个工具把数据库管理、浏览器界面和插件都集成在了一起,特别适合新手快速上手。安装过程我就不赘述了࿰…...
深入STM32F407 USART收发机制:用逻辑分析仪解读数据帧与中断处理流程
深入解析STM32F407 USART通信机制:从数据帧捕获到中断优化实战 在工业自动化、智能硬件等高可靠性应用场景中,串口通信的稳定性和效率往往决定着整个系统的性能边界。STM32F407作为ARM Cortex-M4内核的经典代表,其USART模块在异步通信场景下展…...
FastAdmin+PHPStudy保姆级安装教程:从下载到配置数据库的完整流程
FastAdminPHPStudy极速开发环境搭建实战指南 作为一名长期使用FastAdmin框架的开发者,我深知一个顺畅的本地开发环境对项目效率的影响。本文将带你从零开始,用最简洁的方式完成FastAdmin与PHPStudy的完美搭配,避开那些新手常踩的"坑&quo…...
ReaR实战:构建企业级Linux裸机灾难恢复体系
1. 为什么企业需要裸机灾难恢复方案 想象一下这样的场景:凌晨三点,机房突然响起刺耳的警报声。值班工程师冲进机房,发现核心数据库服务器已经宕机,硬盘指示灯全灭——这是一次严重的硬件故障。更糟糕的是,这台服务器上…...
