获取某一列_Excel VBA 8.2 获取多列唯一值,不用肉眼,VBA帮你快速搞定

前景提要(文末提供源码下载)

昨天我们学习了针对单列的数据进行获取唯一值的方法,今天我们提升下难度,来尝试下获取已多列为参照物,获取唯一值的方法,昨天有很多小伙伴说还可以用字典的方法更加的简单,其实,针对这个问题,我还是那句话,方法无绝对,多学点终究是好的,针对获取唯一值的方法,我后续几天会展开至少3种方法,大家可以选择自己喜欢的方法来玩。

场景说明

很明显今天的问题,我们无法用常规的去重的方式来实现了,因为去重的方式只能针对某一列的上下文进行操作的,现在我们的操作对象并不仅仅是一列,而是两列,甚至可能是不相邻的两列,也可能是三列。

4734105621409ebcb941916c8cd8ec81.png

这就是我们今天构造的模拟数据源,我们来看看今天的效果要如何实现

代码区

多列取唯一值,在我们日常的工作中确实是比较常见的操作,但是牵涉到多列的数据,是不是操作起来非常的困难呢?,其实并不会很难,我们来看看今天的代码

Sub test()Dim l&l = Cells(Rows.Count, 1).End(xlUp).RowWith Range(Cells(1, 1), Cells(l, 3)) .RemoveDuplicates Columns:=Array(1, 2), Header:=xlYesEnd WithEnd Sub

是不是很简单,和上节的代码有很多地方都是非常的相似的,但是又有一些地方不相同

其实我们使用的方式还是我们上节学习过的RemoveDuplicates的方法

先来看看最终的结果是怎么样的

ab4efd8b1604a78d306ff5330c4b4d00.gif

如果我们希望的是不连续的两行是否能够实现呢?

来实现下,我们现在希望在A-C两列之间进行取唯一值的操作

Sub test1()Dim l&l = Cells(Rows.Count, 1).End(xlUp).RowWith Range(Cells(1, 1), Cells(l, 5)) .RemoveDuplicates Columns:=Array(1, 3), Header:=xlYesEnd WithEnd Sub
9eeca9944f14a5d57c2f2978f9c36fd2.gif

代码是稍微有一些点修改的,我们一会来讲述下。

从上面的两个动图,我们可以看出来,上面的代码完全满足了我们的需求,那么今天我们来继续深入学习下RemoveDuplicates方法

代码解析

前面我们也说了,今天的功能的关键代码还是RemoveDuplicates方法的运用,上节我们学习了RemoveDuplicates在单列取唯一值的时候的运用,在今天的多列的取唯一值的需求中,依然能够用到RemoveDuplicates

其实我们昨天留下了一个小的伏笔,

295b11d20fc4120ac27e23ef79ced5ac.png

那么针对多列的时候,这里要如何写呢?其实你如果仔细的观察代码的话,就会发现了。

.RemoveDuplicates Columns:=Array(1, 3), Header:=xlYes

将1换成了一个类似数组的方式,array()代表的就是数组,想要获取多列的唯一值就是用这样的结构,那么如何表现是第几列呢?

来比较下两个代码的不同

.RemoveDuplicates Columns:=Array(1, 3), Header:=xlYes.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes

很明显发现了,array()括号内的内容是不相同的,(1,3)代表的就是第一列和第三列合在一起取唯一值,而(1,2)代表的就是第二列和第一列合在一起取唯一值,

这里的第一列第二列都是数据源整体,和单元格具体的位置无关,并且并不受其他列的数据的影响。

cd8f50bfa7389c1705f9d4a679839939.png

1 2 3

这里只有两列,那么如果有多列呢?三列甚至更多列呢?好吧,容我再卖个关子

================================

本节课的案例源码已经上传,需要的小伙伴请按照如下步骤操作,一个不能少哦~~

1.加个粉(已关注的略过这一步)

2.转发下本文章(算是对我的小小支持吧~)

3.后台私信“8-2”

希望大家多支持~~,多多关注 ~ ~

好了,明晚19:00,准时再见!

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

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

相关文章

python求众数代码_python-LeetCode-求众数

题目:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2众数——众数(Mode)…

dataoutputstream.write 有时无法发送_RTK实操——CORS官方网教您如何解决RTK无法固定的问题...

测量员在日常测量工作中,非常期盼都能“固定解”,特别是是在密林、高楼下接收信号-测定位置-收工绘图,一整套流程跑完,就稳妥了。然而事与愿违,在使用过程中,有时候会遇到各种各样的复杂状况,导…

《DSP using MATLAB》示例Example7.25

今天清明放假的第二天,早晨出去吃饭时天气有些阴,十点多开始“清明时节雨纷纷”了。 母亲远在他乡看孙子,挺劳累的。父亲照顾生病的爷爷…… 我打算今天把《DSP using MATLAB》第7章结束,剩下的几个例子看不懂了,先跳过…

freemarker使用说明_SpringBoot+Swagger2集成详细说明

SpringBootSwagger2集成详细说明引言:为什么使用Swagger?在Vue没有出来之前,都是前后端在一起:后端用的SSM或者SSH框架前端完全就是静态页面模板引擎。例如:JSP开发久的人应该听说过,和现在的Thymeleaf、 V…

64位 iee754_什么是最大的非规格化和标准化数字?(64bit,IEE 754

我正在使用浮点算法,因为我很想理解这个主题!我知道这些数字可以用科学记数法表示。因此,对于这两个数字,指数应该如下所示:非规范化数: 11 .... 11所以(1 1/2 1/2 ^ 2 ... 1/2 ^ 52)* 2 ^ 1023归一化数…

Vim中根据正则对选中文本对齐(比如ini文件的=号对齐)

vimrc增加如下内容即可&#xff1a; vnoremap <M-> :call Duiqi(\v(^\s*\S)\s(.*))<CR> "reg匹配的第2段文字对齐 function! Duiqi(reg) let l0 line("<") let l1 line(">") "获取第1个单词及前面空格的最大长度 let…

mysql pid_mysql pid文件是什么用途

展开全部MySQL pid 文件记录的是当前 mysqld 进程的 pid&#xff0c;pid 亦即 Process ID。可以通过如下的例子查62616964757a686964616fe58685e5aeb931333361316634看&#xff1a;$ /etc/init.d/mysqld startStarting MySQL. SUCCESS!$ ll /data/mysql/centos.pid-rw-rw---- 1…

[bzoj1305][CQOI2009]dance跳舞

一次舞会有n个男孩和n个女孩。每首曲子开始时&#xff0c;所有男孩和女孩恰好配成n对跳交谊舞。每个男孩都不会和同一个女孩跳两首或更多舞曲。有一些男孩女孩相互喜欢&#xff0c;而其他相互不喜欢&#xff08;不会“单向喜欢”&#xff09;。每个男孩最多只愿意和k个不喜欢的…

mysql主从架构搭建_mysql主从架构搭建

背景知识&#xff1a;主从这个架构可以实现数据备份&#xff0c;数据在多个服务器上分布等等&#xff0c;当然最主要的优点是可以实现负载均衡&#xff0c;将写操作交给主节点&#xff0c;读操作交给从节点。mysql官网有很多版本&#xff0c;例如Enterprise(企业版需要付费&…

Linux快速搭建FTP服务器

FTP 是File Transfer Protocol&#xff08;文件传输协议&#xff09;的英文简称&#xff0c;而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时&#xff0c;它也是一个应用程序&#xff08;Application&#xff09;。基于不同的操作系统有不同的FTP应用程序…

mysql 连接 监控_mysql监控优化(一)连接数和缓存

一、mysql的连接数MYSQL数据库安装完成后&#xff0c;默认最大连接数是100&#xff0c;一般流量稍微大一点的论坛或网站这个连接数是远远不够的&#xff0c;连接数少的话&#xff0c;在大并发下连接数会不够用&#xff0c;会有很多线程在等待其他连接释放&#xff0c;就可能会导…

集合框架(一) ----------Map集合遍历的方法

import java.util.*; /** * Map集合遍历的方法 * author Administrator * */public class Test2 { public static void main(String[] args) { Map<String,String> mapnew HashMap<String,String>(); /*Java 提供两种不同的类型&#xff1a; * 引用类型和原始类型&…

mysql事务总结_MySQL数据库和相关事务总结

以下的文章主要向大家描述的是MySQL数据库和相关事务&#xff0c;在实际操作中有很多人都认为MySQL数据库对事务处理是不支持的&#xff0c;其实&#xff0c;只要MySQL数据库版本支持BDB或是InnoDB表类型&#xff0c;那么你的MySQL就具有事务处理的能力。这里面&#xff0c;又以…

please reinstall the mysql distribution_php安装扩展mysqli的实现步骤及报错解决办法

php安装扩展mysqli的实现步骤及报错解决办法terminal#cd php-5.3.6/ext/mysqli#/usr/local/webserver/php/bin/phpize#./configure --with-php-config/usr/local/webserver/php/bin/php-config#make#make instal报错&#xff1a;checking for MySQLi support... yeschecking wh…

day35-hibernate映射 03-Hibernate持久态对象自动更新数据库

持久态对象一个非常重要的能力:自动更新数据库。 package cn.itcast.hibernate3.demo1;import static org.junit.Assert.*;import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test;import cn.itcast.utils.HibernateUtils;/*** Hibernate的测…

mysql视图中调用函数写法_从视图中调用函数

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":5,"count":5}]},"card":[{"des":"阿里云函数计算(Function Compute)是一个事件…

微信 小程序 常见错误

VM148:2 pages/aaa/aaa.jsonExpecting STRING,NUMBER,NULL,TRUE,FALSE,{,[, got EOF 意思是 子组件的 json 文件不能为空 至少填一个{} appservice:18 pages/home/home 出现脚本错误或者未正确调用 Page() 原因是没有在相应页面的.js文件中调用Page&#xff08;&#xff09;&am…

mysql 角色管理_MySQL 8 用户和角色管理入门

MySQL 8.0 正式版目前已发布&#xff0c;MySQL 8.0 增加了很多新的功能&#xff0c;具体可参考「MySQL 8.0 正式版 8.0.11 发布&#xff01;」一文。MySQL 8.0 在用户管理方面增加了角色管理&#xff0c;默认的密码加密方式也做了调整&#xff0c;由之前的 SHA1 改为了 SHA2。同…

go 删除 文件 某行_Go实战--用echo嵌入静态资源

生命不止&#xff0c;继续 go go go !!!使用 Go 开发应用的时候&#xff0c;有时会遇到需要读取静态资源的情况。比如开发 Web 应用&#xff0c;程序需要加载模板文件生成输出的 HTML。在程序部署的时候&#xff0c;除了发布应用可执行文件外&#xff0c;还需要发布依赖的静态资…

python 运维自动化之路 Day2

学习内容&#xff1a; 1、模块初识 2、Pyc是什么 3、Python数据类型 4、数据运算 5、bytes数据类型 6、列表和元组的使用 7、字符串常用操作 8、字典的使用 1、模块初识 如果用 python 解释器来编程&#xff0c;从 Python 解释器退出再进入&#xff0c;那么你定义的所有的方法和…