如何利用EXCEL VBA将一列数据中不重复的数据读取到数组中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用EXCEL VBA将一列数据中不重复的数据读取到数组中?相关的知识,希望对你有一定的参考价值。

参考技术A

利用字典去重,下面是示例代码,去除第一列的重复项Sub Test() '利用字典去重,字典的特性是key值不能重复

Dim Dic, Arr

Dim i As Integer, r As Integer

Dim Str As String

r = Sheet1.Range("A65536").End(xlUp).Row

If r = 1 Then Exit Sub '如果第一列没有数据那么退出程序

Set Dic = CreateObject("scripting.dictionary") '创建字典对象

For i = 1 To r '将第一列数据添加到字典的key值中

Dic(CStr(Cells(i, 1))) = ""

Next

Arr = Dic.keys '返回字典key的数组

Set Dic = Nothing '销毁对象

Str = Join(Arr, ",") '将数组中的内容显示为一字符串

MsgBox Str

End Sub

Excel如何把两列中相同的数据找出,并对应内容排列?

如图,AB两列中的数字有重复项,我想把B列的数据按A列同行排序出来,不重复的数据在最下面显示或者隐藏也可以,请问有哪位大神知道方法。

Excel怎样快速分出两组数据的不相同数据

Excel怎样提取两组数据的交集" 

参考技术A 用vba编程解决
思想是(假设你的单据号是唯一的)
从少的一列开始,循环少的那列,每读取一个单元格,再循环读多的一列,发现有相同的,将相同的哪个位置和当前位置交换,便可以了.vba用vb语言的,很容易的Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。

直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为Microsoft Office的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。[1]Microsoft Office是一套由微软公司开发的办公软件套装,它可以在Microsoft Windows、Windows Phone、Mac系列、iOS和Android等系统上运行。与其他办公室应用程序一样,它包括联合的服务器和基于互联网的服务。从20

07版的Office被称为“Office System”而不叫“Office Suite”,反映出它们包括服务器的事实。

Office最初是一个推广名称,出现于1990年代早期,指一些以前曾单独发售的软件的合集。当时主要的推广重点是:购买合集比单独购买要省很多钱。最初的Office版本包含Word、Excel和PowerPoint。“专业版”包含Microsoft Access,Microsoft Outlook 当时不存在。随着时间的改变,Office应用程序逐渐集成,共享特性,例如:拼写和语法检查、OLE数据集成和VBA脚本语言。微软目前将Office延伸作为一个开发平台,可以借由专用商店下载第三方软件搭配使用。

Office常是制作文档文件的标准,而且有一些其他产品不存在的特性,但是其他产品也有Office缺少的特性。自从Microsoft 2007 Office System开始,有一个和以前版本差异很大的用户界面,该界面被称为Ribbon界面,并沿用在Microsoft Office 2010、Microsoft Office 2013和Microsoft Office 2016中。[1
参考技术B 用vba编程解决
思想是(假设你的单据号是唯一的)
从少的一列开始,循环少的那列,每读取一个单元格,再循环读多的一列,发现有相同的,将相同的哪个位置和当前位置交换,便可以了.vba用vb语言的,很容易的
参考技术C 在表格当中要想把两个相同的数据找出,只需要我们选定一列之后,然后在工具栏点击相似类型的筛选,这样的话就可以找到另一栏。 参考技术D C1输入:=IF(COUNTIF(B$1:B$40,A1)=0,"",A1),然后把C1出现的数往下来, B列与A列相同的数据会在C列行行对应。,

以上是关于如何利用EXCEL VBA将一列数据中不重复的数据读取到数组中?的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL函数 如何删除某一列中不含某一元素的行

Excel VBA 类型不匹配错误

Excel如何把两列中相同的数据找出,并对应内容排列?

Excel 用VBA统计这个表一共用多少列多少行

EXCEL VBA 如何找到某一数据的行号和列号?

VBA 如何将一列字符转成日期