VBA学习笔记本(二) | 您所在的位置:网站首页 › excel如何两个表格匹配相同 › VBA学习笔记本(二) |
最近遇到很多要在两个表之间同步数据的情况,比如在sheet1 为基础表 表中有非常多的字段 姓名 学号 班级 专业 性别 年龄 籍贯 张A 001 一班 计算机 男 15 北京 王B 002 一班 物理 男 30 上海 张C 003 一班 采矿 男 18 北京 李E 004 一班 软件 男 20 北京 秦F 005 一班 财会 男 26 北京而在Sheet2中却只有如下数据 姓名 学号 班级 专业 性别 年龄 籍贯 张A 001 张C 003 李E 004 秦F 005Sheet2中的信息不全,需要补充完整,所以就需要VBA进行快速匹配,但是如果为了通用性,不仅仅局限于这个两张表中,就增加了一些功能。首先建立一个窗体增加如下控件: 新建一个模块,用于存放基础方法,共需建立一个窗口一个模块 基础功能模块中算法如下: Function 获取表头数组(表名) '''本方法作用是输入表名,返回对应表中首行表头组成的数组 '''使用了字典的作用是为了去重 '关闭页面刷新 Application.ScreenUpdating = False Sheets(表名).Select With Sheets(表名) 表行数 = Sheets(表名).UsedRange.Rows.Count 表列数 = Sheets(表名).UsedRange.Columns.Count 表头数组 = Sheets(表名).Range(Cells(1, 1), Cells(1, 表列数)).Value Dim 表头字典 As Object '声明字典对象,亦可通过声明变体型变量完成声明 >>> Dim d Set 表头字典 = CreateObject("Scripting.Dictionary") '声明字典 For i = 1 To 表列数 表头字典(Sheets(表名 |
CopyRight 2018-2019 实验室设备网 版权所有 |