VBA学习笔记本(二) 您所在的位置:网站首页 excel如何两个表格匹配相同 VBA学习笔记本(二)

VBA学习笔记本(二)

2024-07-12 03:38| 来源: 网络整理| 查看: 265

最近遇到很多要在两个表之间同步数据的情况,比如在sheet1 为基础表 表中有非常多的字段

姓名 学号 班级 专业 性别 年龄 籍贯 张A 001 一班 计算机 男 15 北京 王B 002 一班 物理 男 30 上海 张C 003 一班 采矿 男 18 北京 李E 004 一班 软件 男 20 北京 秦F 005 一班 财会 男 26 北京

而在Sheet2中却只有如下数据

姓名 学号 班级 专业 性别 年龄 籍贯 张A 001 张C 003 李E 004 秦F 005

Sheet2中的信息不全,需要补充完整,所以就需要VBA进行快速匹配,但是如果为了通用性,不仅仅局限于这个两张表中,就增加了一些功能。首先建立一个窗体增加如下控件: 在这里插入图片描述 三个下拉框分别为选取需要匹配的工作表,也就是本立中的Sheet2,另一个作为基准表,也就是本利中的Sheet1,二基准字段为两个表中匹配时作为关联的一个字段,本利中未学号,需要为唯一值。

新建一个模块,用于存放基础方法,共需建立一个窗口一个模块 在这里插入图片描述

基础功能模块中算法如下:

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 实验室设备网 版权所有