在日常工作中,会有这样一个需求,我们有一份基础数据表,模拟的数据如下所示:
这里只列了3条数据,实际工作过程中可能是几百条,然后数据列也有很多,这里介绍解决方案,所以简化了数据
我们需要得到的结果是,按每行数据,填充到另一个简历表里面去,每一行数据,得到一个简历表,有N行数据,就需要填充N个这样的表
我们之前分享过Excel搭配word使用邮件合并功能轻松解决
但每个子表必须是word格式的
如果说我们每个子表都还是Excel格式的,该如何快速填充完成呢?
解决方案,使用VBA代码的方式
我们在信息表里面,打开VBA编辑工具(快捷键ALT+F11),插入一个模块
里面输入的代码是:
Sub 生成()
For i = 2 To 4
Workbooks.Open (ThisWorkbook.Path & "\" & Cells(i, 1))
ActiveWorkbook.Sheets(1).Range("B2") = ThisWorkbook.Sheets(1).Cells(i, 2)
ActiveWorkbook.Sheets(1).Range("D2") = ThisWorkbook.Sheets(1).Cells(i, 3)
ActiveWorkbook.Sheets(1).Range("F2") = ThisWorkbook.Sheets(1).Cells(i, 5)
ActiveWorkbook.Close savechanges:=True
Next
End Sub
解释上面几行代码,如果数据行数不同,数据位置不同,就可以自己进行替换了
for i =2 to 4
表示从第2行开始循环到第4行
workbooks.open
表示打开表格,后面跟的是当前文件夹的路径
然后就是子表中的B2单元格要等于原表格的第2列的值
D2要等于原表格的第3列
F2要等于原表格的第5列
最后关闭表格,并且保存。
通过上述简单的几行代码,我们点击运行代码
所有的子表里面的内容就更新完成了
其他子表也自动填充了相应的数据了
你学会了么?碰到大批量数据需要填充的时候,再也不需要加班到通宵还在做表了