excel比较并合并工作表
有两个工作表,均含有相同的数据,但最后一列名称和产品的数量不同,如下图一和图2所示。
图一
图2
现在需要将这两个工作表合并,保留最后一列且添加一列用来存放两个工作表最后一列数据之差,如下图3所示。
图3
这里使用使用来解决。
由于我们要使用词典对象,因此先要设置相应对象库的引用。首先,打开阀基电子设备编辑器,单击菜单"工具——引用",找到并选取"微软脚本运行时"前的复选框,如下图四所示。
图四
编写代码如下:
子组合会议()
'声明变量
'用于存储工作表Sheet1中的数据
Dim dic1作为脚本。词典
'用于存储工作表第2页中的数据
将dic2作为脚本。词典
'工作表Sheet1
将工作周一设计为工作表
'工作表第2页
将工作周2设计为工作表
'工作表第3页
将工作周3设计为工作表
'工作表中数据的最后一行
昏暗的灯光和长长的一样
模糊如龙
暗淡的j一样长
变型变量
'入库数量
双重调暗数据库端口
'出库数量
将数据端口调暗为双倍
将rng1调暗为范围
将rng2调暗为范围
'赋值工作表对象
设定周1=工作表("工作表1")
设定周2=表("表2")
设定周3=表("表3")
'初始化字典对象
设置dic1=新脚本。词典
设置dic2=新脚本。词典
'填充字典dic1
lngLastRow=wks1 .范围("一"行。计数)。结束(xlUp).排
设置dic1=DicData(wks1 .范围(" a 1: e"lngLastRow),2,真)
'填充字典dic2
lngLastRow=wks2 .范围("一"行。计数)。结束(xlUp).排
设置dic2=DicData(wks2 .范围(" a 1: e"lngLastRow),2,真)
'将数据输入到工作表第3页
第三周。行("2:"行。计数)。清楚的
i=1
'遍历字典dic1
对于dic1中的每个变量。键
dblImport=0
'取第5列中的入库数据并求和
对于dic1中的每个rng1 .项目(风险值)。行
dblImport=dblImport rng1 .细胞(5)
下一个rng1
'输出数据到相应的单元格
i=i 1
对于每个rng2指标1。项目(风险值)。行(1)。细胞
第三周。细胞(一,rng2 .列)=rng2
下一个rng2
第三周。单元格(I,5)=dblImport
第三周。单元格(I,1)=I1
下一个定义变量
对于dic2中的每个变量。键
dblExport=0
'取第5列中的出库数据并求和
对于dic2中的每个rng1 .项目(风险值)。行
dblExport=dblExport rng1 .细胞(5)
下一个rng1
'输出数据到相应的单元格中并计算出入库差
lngLastRow=wks3 .范围("一"行。计数)。结束(xlUp).排
对于j=2至lngLastRow
如果是dic2 .项目(风险值)。单元格(1,2)=wks3 .单元格(j,2)然后
第三周。单元格(j,6)=dblExport
第三周。细胞(j,7).公式="=" _
第三周。细胞(j,5).地址"-"_
第三周。细胞(j,6).地址
退出
如果…就会结束
下一个j
下一个定义变量
末端接头
'使用指定区域的数据填充字典
函数DicData(rngInput AsRange,_
共索引作为龙,_
布尔型)作为脚本。词典
模糊如龙
将单元格调暗为范围
调光范围
调暗脉冲范围
作为脚本。词典
将字符串变暗
申请。屏幕更新=假
设置rng=rngInput .列(共索引)
设置dic=新脚本。词典
'文本比较,不区分大小写
驾驶员信息中心。比较代码=文本比较
'是否有标题
如果他死了,那么
带rngInput
设置rngInput=.偏移量(1,0)。调整大小(_。行。计数1,列。计数)
以…结尾
如果…就会结束
带rngInput
对于每个单元格在2005年.列(ColIndex).细胞
i=i 1
strVal=单元格。文本
如果不是驾驶员信息中心。存在(右)然后
驾驶员信息中心。添加strVal,2000 .行
其他
'将前几列具有相同数据的行存储在同一字典键
设置联盟.行驾驶员信息中心
驾驶员信息中心。移除获取变量的字符串值
驾驶员信息中心。添加strVal,rngTemp
如果…就会结束
下一个单元格
以…结尾
设置DicData=dic
申请。屏幕更新=真
结束功能
运行代码后,即可得到上图3所示的结果。
代码的图片版如下:
版权声明:excel比较并合并工作表是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。