在Excel中如何快速筛选非特定颜色

news2024/11/27 12:39:29

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

在这里插入图片描述

示例代码如下。

Sub Demo()
    Dim helpRng As Range, visRng As Range
    Dim lastRow As Long, oSht As Worksheet
    Set oSht = Sheets("Sheet1")
    If oSht.AutoFilterMode Then oSht.AutoFilterMode = False
    lastRow = oSht.Cells(oSht.Rows.Count, 1).End(xlUp).Row
    With oSht.Range("A1:E" & lastRow)
        .AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterCellColor
        Set helpRng = .Columns(.Columns.Count).Offset(, 1)
        helpRng.EntireColumn.Hidden = False
        On Error Resume Next
        Set visRng = helpRng.SpecialCells(xlCellTypeVisible)
        On Error GoTo 0
        If Not visRng Is Nothing Then
            oSht.AutoFilterMode = False
            helpRng.Clear
            visRng.Value = 1
            helpRng.AutoFilter Field:=1, Criteria1:=""
            helpRng.EntireColumn.Hidden = True
        End If
    End 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实现方案更高效,总之,效率为王,英雄不问出身。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2227909.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言中的位操作

第一章 变量某位赋值与连续赋值 寄存器 | 值 //例如&#xff1a;a 1000 0011b a | (1<<2) //a 1000 0111 b 单独赋值 a | (3<<2*2) // 1011 0011b 连续赋值 第二章 变量某位清零与连续清零 寄存器 & ~&#xff08;&#xff09; 值 //例子&#xff1a;a …

微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖及性能分析

微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖及性能分析 目录 微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖及性能分析 1、iOS在scroll-view内部上下滑动吸顶的现象 正常的上下滑动吸顶覆盖&#xff1a; iOS及iPa…

详细分析Pytorch中的transpose基本知识(附Demo)| 对比 permute

目录 前言1. 基本知识2. Demo 前言 原先的permute推荐阅读&#xff1a;详细分析Pytorch中的permute基本知识&#xff08;附Demo&#xff09; 1. 基本知识 transpose 是 PyTorch 中用于交换张量维度的函数&#xff0c;特别是用于二维张量&#xff08;矩阵&#xff09;的转置操…

#PCIE#基础知识分解之 CC/SRNS/SRIS 时钟架构

参考资料为PCIe Base Spec和CEM Spec。 1.1 时钟架构分类 PCIe参考时钟的三种架构&#xff1a; Common Refclk (Shared Refclk) ArchitectureData Clocked Rx ArchitectureSeparate Refclk Architecture 下面&#xff0c;我们来简单地聊一聊前面说到的三种参考时钟架构&…

图书管理系统汇报

【1A536】图书管理系统汇报 项目介绍1.用户登录注册功能1. 1用户角色管理2.图书管理功能2.1 添加图书2.2 编辑图书2.3 删除图书 3.图书搜索和筛选3.1 图书搜索3.2 图书筛选 4.图书借阅、图书归还4.1 图书借阅4.2 图书归还 5.用户信息管理5.1上传头像5.2修改头像5.3 修改密码 项…

js 获取当前时间与前一个月时间

// 获取当前时间的毫秒数 var currentTimeMillis new Date().getTime();// 获取前一个月的Date对象 var dateLastMonth new Date(); dateLastMonth.setMonth(dateLastMonth.getMonth() - 1);// 获取前一个月的毫秒数 var timeMillisLastMonth dateLastMonth.getTime();conso…

Flutter InkWell组件去掉灰色遮罩

当InkerWell组件内部获取到焦点时&#xff0c;会展示一层灰色遮罩 将focusColor属性设置为透明即可 Flutter InkWell焦点效果源码分析 问题描述 当 InkWell 组件获得焦点时&#xff0c;会显示一层灰色遮罩效果。需要找出这个效果是由哪些组件控制的&#xff0c;以及具体的…

【SpringMVC】传递json,获取url参数,上传文件

【传递json数据】 【json概念】 一种轻量级数据交互格式&#xff0c;有自己的格式和语法&#xff0c;使用文本表示一个对象或数组的信息&#xff0c;其本质上是字符串&#xff0c;负责在不同的语言中数据传递与交换 json数据以字符串的形式体现 【json字符串与Java对象互转…

逆向 解密接口信息附Demo(二)

目录 前言1. 加密2. 解密 前言 原先写过另外一篇&#xff0c;推荐阅读&#xff1a;逆向 解密接口信息&#xff08;附Demo&#xff09; 下文以 https://login1.scrape.center/ 进行讲解&#xff0c; 1. 加密 登录过程中可以使用断点进行一步一步排查 或者在js文件中搜索enco…

【周末推荐】Windows无缝连接iPhone

关注“ONE生产力”&#xff0c;获取更多精彩推荐&#xff01; 又到了周末推荐时间了&#xff0c;今天我们介绍一个Windows内置的功能&#xff0c;能够帮助大家将自己的电脑和iPhone连接在一起。 很多用Windows的小伙伴羡慕macOS可以和iPhone无缝连接&#xff0c;轻松阅读和回…

015:地理信息系统开发平台ArcGIS Engine10.2与ArcGIS SDK for the Microsoft .NET Framework安装教程

摘要&#xff1a;本文详细介绍地理信息系统开发平台ArcGIS Engine10.2与ArcGIS SDK for the Microsoft .NET Framework的安装流程。 一、软件介绍 ArcGIS Engine 10.2是由Esri公司开发的一款强大的GIS&#xff08;地理信息系统&#xff09;开发平台。该软件基于ArcGIS 10.2 fo…

基于 Java 的 Spring Boot 和 Vue 的宠物领养系统设计与实现

需要代码 vx&#xff1a;Java980320 不收取任何费用 在这个宠物领养系统中&#xff0c;我们可以设定两个角色&#xff1a;管理员和普通用户。每个角色的功能和目标略有不同&#xff0c;以下分别介绍&#xff1a; 管理员 管理员的主要职责是确保平台的高效运行&#xff0c…

ES6 变量的解构赋值

数组的解构赋值 对象的解构赋值 字符串的解构赋值

关于我的数据结构与算法——初阶第二篇(排序)

&#xff08;叠甲&#xff1a;如有侵权请联系&#xff0c;内容都是自己学习的总结&#xff0c;一定不全面&#xff0c;仅当互相交流&#xff08;轻点骂&#xff09;我也只是站在巨人肩膀上的一个小卡拉米&#xff0c;已老实&#xff0c;求放过&#xff09;。 排序的概念及其运…

IDEA连接EXPRESS版本的SQL server数据库

我安装的版本是SQL2019-SSEI-Expr.exe 也就是EXPRESS版本的SQL Server安排非常简单和快速。 但是默认没有启动sa用户。 启动sa用户名密码登录 默认安装完以后没有启用。 使用Miscrosoft SQL Server Management Studio 使用Windows身份连接后。 在安全性》登录名中找到sa并修改…

Unity 实现的背包系统

Hello Inventory System Unity 实现的背包系统。 TEST 点击底部 TEST 按钮随机生成物品到 Chest &#xff1b;点击物品可以将其 “拿起” &#xff0c;按住键盘左侧的 Ctrl 键可以按半数拿起和放下&#xff1b;属于装备的物品可以点击右键装备上&#xff0c;显示在人物装备属性…

net mvc中使用vue自定义组件遇到的坑

自定义一个ButtonCounter.js组件 export default {data() {return {count: 0}},template: <van-button type"primary" click"count">You clicked me {{ count }} times.</van-button> }按照官网文档的意思&#xff0c;组件命名需要大写驼峰命…

docker基础篇(尚硅谷)

学习链接 docker1️⃣基础篇&#xff08;零基小白&#xff09; - 语雀文档 (即本篇) Docker与微服务实战&#xff08;基础篇&#xff09; Docker与微服务实战&#xff08;高级篇&#xff09;- 【上】 Docker与微服务实战&#xff08;高级篇&#xff09;- 【下】 文章目录 学习…

【密码学】CKKS全同态加密方案浅析

本文主要为翻译内容&#xff0c;原文地址&#xff1a;https://www.inferati.com/blog/fhe-schemes-ckks CKKS算法是2017年论文《Homomorphic Encryption for Arithmetic of Approximate Numbers》中提出的近似计算同态加密算法&#xff0c;论文的作者是Cheon等四位韩国研究…

Nginx + Lua + Redis:打造智能 IP 黑名单系统

Nginx Lua Redis&#xff1a;打造智能 IP 黑名单系统 nginx通过LuaRedis实现动态封禁IP 需求背景 在Web服务中&#xff0c;为了防止恶意用户或爬虫对服务器造成不必要的负载和潜在的安全威胁&#xff0c;我们可以通过设置动态IP黑名单来拒绝来自这些IP的请求。本文将详细介绍…