大家好,今日继续讲VBA数组与字典解决方案的第27讲,内容是两列数据中相互去掉重复值之后将数据合并。这讲的内容利用到动态数组,固定数组,数组的合并,数组的转置等等。

还是先看实例,下面的工作表中A列和B列有两列数值如下:

我们首先要在A列中去掉B列的重复值,然后在B列中去掉和A列重复的值,然后将剩余的A,B列数合并到C列。这个问题在理论上的应用较多,实际工作中要结合具体的应用来解析。如何实现呢?我们看下面的代码:

Sub MyNZsz_27() '第27讲 两列数中去掉相互重复值后合并"

Sheets("27").Select

Dim temvarArr1(), temvarArr2(), tem()

varArr1 = Range("A1:A" & Range("A1").End(xlDown).Row) '将A列数据写入数组

varArr2 = Range("B1:B" & Range("B1").End(xlDown).Row) '将B列数据写入数组

ReDim temvarArr1(1 To UBound(varArr1)) '将A列数据写入动态一维数组

For i = 1 To UBound(varArr1)

temvarArr1(i) = varArr1(i, 1)

Next

ReDim temvarArr2(1 To UBound(varArr2)) '将B列数据写入动态一维数组

For i = 1 To UBound(varArr2)

temvarArr2(i) = varArr2(i, 1)

Next

'在数据1中去掉数据2的值,结果赋值给tem1

tem1 = Filter(temvarArr1, temvarArr2(1), False) '给TEM1赋初始值,返回temvarArr1中不含temvarArr2(1)的值

For i = 2 To UBound(temvarArr2)

tem1 = Filter(tem1, temvarArr2(i), False)

Next i

'在数据2中去掉数据1的值,结果赋值给tem2

tem2 = Filter(temvarArr2, temvarArr1(1), False) '给TEM2赋初始值

For i = 2 To UBound(varArr1)

tem2 = Filter(tem2, temvarArr1(i), False)

Next i

ReDim tem(0 To UBound(tem1) + UBound(tem2) + 1)

For i = 0 To UBound(tem1)

tem(i) = tem1(i)

Next

For i = UBound(tem1) + 1 To UBound(tem1) + UBound(tem2) + 1

tem(i) = tem2(i - UBound(tem1) - 1)

Next

' MsgBox Join(tem) '如果需要提示用户用此代码

Range("C1") = "两列数中去掉相互重复值后合并"

[c2].Resize(UBound(tem) + 1) = WorksheetFunction.Transpose(tem)

End Sub

代码截图:

代码解析:

1 整个 代码的过程先讲A和B列的数写入数组,然后转成一个一维数组,并分别去除重复值,得到TEM1和TEM2两个数组。最后将两个数组合并。

2 ReDim tem(0 To UBound(tem1) + UBound(tem2) + 1) 此处给动态数组以上下界的定义

3 For i = 0 To UBound(tem1)

tem(i) = tem1(i)

Next

For i = UBound(tem1) + 1 To UBound(tem1) + UBound(tem2) + 1

tem(i) = tem2(i - UBound(tem1) - 1)

Next

上述代码中分别有循环语句给给TEM数组赋值。

最后我们看输出的结果:

今日内容回向:

1 上述代码的过程是否理解呢?

2 上述过程中有哪些是动态数组?哪些是固定数组呢?

c语言讲两个数组合并_两列数据相互去掉重复值后合并相关推荐

  1. php 两个数组 交集_两个数组的交集

    给定两个数组,编写一个函数来计算它们的交集. 示例1: 输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2] 示例2: 输入:nums1 = [4,9,5], num ...

  2. 将两个数组河滨_两名3岁男孩在河滨公园玩耍迷了路 幸亏被好心人“捡”到

    民警安抚孩子 多彩贵州网讯(本网记者 徐昆)"你好,民警同志,我在河滨公园见到两个小孩."10月27日下午,南明区网格民警田雨风接到报警称,在贵阳市河滨公园,一名热心市民" ...

  3. 【Python】汇总Excel所有列内容,删除重复值并合并成一列写入新表中

    import xlrd import xlwt from xlutils.copy import copy import osdef read_file(file_name):# 1.打开文件open ...

  4. mysql 多列合并为一列_多列数据合并一列,还在用数据透视就out了,用=号只要三步完成...

    以前我们经常使用Excel表格进行数据分类,比如将多列的数据合并到一列当中,这个时候我们会使用数据透视表.函数等多种方法来操作.今天我们就来学习,如何利用一个=号,快速将多列数据合并为一列. 如上图所 ...

  5. PHP 二维数组去掉重复值并保持原结构

    不得不说PHP的数组功能真的是非常强大. 下面直接上PHP的二维数组去掉重复值并保持原结构的 代码: //二维数组去掉重复值 function arrunique($a){ foreach($a[0] ...

  6. php 二位数组去掉重复,PHP 二维数组去掉重复值并保持原结构

    PHP 二维数组去掉重复值并保持原结构 直接上代码,解释很详细 //二维数组去掉重复值 function arrunique($a){ foreach($a[0] as $k => $v){ / ...

  7. matlab复制txt里的一列,将txt格式里的两列数据复制粘贴导入excel 后全都在同一列里,怎样让它们分成两列?...

    将txt格式里的两列数据复制粘贴导入excel 后全都在同一列里,怎样让它们分成两列?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

  8. numpy使用[]语法索引二维numpy数组中倒数N列数据列的数值内容(accessing the last N columns in numpy array)

    numpy使用[]语法索引二维numpy数组中倒数N列数据列的数值内容(accessing the last N columns in numpy array) 目录

  9. Excel 中如何找出两列数据中不重复的记录

    现在有两列数据,要在 A 列中找出 B 列中没有的记录,在 B 列中找出 A 列中没有的记录.现在和大家分享一下这个方法. 我们先用一个简单的例子看一下.现在有两列数据,可以是分别在不同的数据单(sh ...

最新文章

  1. SAP PM 初级系列9 - 定义功能位置的安装
  2. FPGA设计心得(2)边沿检测的问题进一步说明(仿真中一定能得到上升沿的设计)
  3. EventBus3.0源码解析
  4. IIS6的工作进程回收
  5. 我的HTTP/3学习笔记
  6. AAAI 2019 滴滴被收录论文全解读
  7. 中获取文件名不要扩展名_如何批量修改文件名,3s时间够不够
  8. SharePoint 2010 网站模板要求在网站集中激活功能
  9. LintCode 125. 背包问题 II(DP)
  10. Flask简介与简单项目操作流程
  11. php 修改excel内容吗,php更新修改excel中的内容例子
  12. solr 高并发_你真的了解并发编程吗?
  13. 【转】2011年考研备战时间表
  14. python打造微信聊天机器人_求问各位大佬,如何用Python写一款微信聊天机器人?...
  15. python 爬虫系列之极验滑块打码
  16. Java实现港(澳)台大陆身份证校验(亲测有效)
  17. Frame-relay帧中继网络配置手册
  18. [reading notes] css W3school reading notes
  19. 如何在新的Apple TV遥控器上调整触摸灵敏度
  20. JQuery插件二--colorbox

热门文章

  1. [非原子批处理出现故障]使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null
  2. Apache ShardingSphere 5.0.0-alpha版本发布
  3. 新中新二代身份证读卡Syn_ReadBaseMsg方法
  4. 链脉吴雪:工业互联网热潮下,人工智能名片有何机会?
  5. java的字典序排序_java字典序排序
  6. 王俊杰:苏宁AI在智慧零售上的应用
  7. IBM推出蓝色基因二代产品蓝色基因/P(转)
  8. web3创业合伙人招募!!!
  9. 洛谷:玩具谜题,C语言
  10. Echarts图设置好了但是在页面无法显示问题