在日常工作中,会有这样一个需求,我们有一份基础数据表,模拟的数据如下所示: 这里只列了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列 最后关闭表格,并且保存。 通过上述简单的几行代码,我们点击运行代码 所有的子表里面的内容就更新完成了 其他子表也自动填充了相应的数据了 你学会了么?碰到大批量数据需要填充的时候,再也不需要加班到通宵还在做表了 |
|