批量生成个人信息表
假定一个工作簿WorkBook1有两个工作表Sheet1和Sheet2,其中Sheet1(如图一所示)存放着一组人的个人信息,每个人的信息在1行,比如问卷星或班级小管家收集了一批人的个人信息都是这样存放的。
Sheet2(如图二所示)是一个空的个人信息表,每个人的信息要填在一页上打印出来。
任务:将每个人的信息从Sheet1中导出来填入Sheet2中,生成一个可以打印的文件或者直接打印。
解决步骤:
一、在Sheet2的顶端插入两行,左侧插入一列,将要打印的那部分表格设置为打印区域。顶端的两行是为了临时存放数据用,左侧的一列是为了存放文件名用。但是这两行和一列又不能打印出来,所以要设置打印区域。
二、将Sheet1的数据名称和第一行数据(记作数据一)复制到Sheet2的顶端两行,数据名称只是为了方便查看数据而已,可以没有。然后将数据一中的有用数据填入要打印的个人信息表中(如图中黄色区域所示),写入的方法是使用公式。比如在C5单元格输入=K2,在E6单元格输入=G2&"-"&H2&"-"&I2,在C6单元格输入=J2,在E6单元格输入=L2,表尾的填表人和填表日期并不是来源于数据一,所以这些信息的填入不需要使用公式。在***3位置(如图中蓝色单元格所示)以公式的形式写入要导出的文件名。比如:=E5&"-"&C5。公式必须含有数据一的信息,并且保证文件名的唯一性,否则可能会出现重名,导致后一个导出的文件替换掉前一个导出的文件。
三、工作表的操作完成了,接着该Excel宏出场了。下面我用伪代码说一下代码怎么写。
While Sheet1.单元格***2 <> ""
复制Sheet1.行2 粘贴到Sheet2.行2
打印Sheet2 (这里也可以改成将Sheet2另存为pdf或者工作簿,保存时以Sheet2.单元格***3命名)
删除Sheet1.行2
Loop
每次将最上面的一行数据写入个人信息表,然后打印个人信息表,打印后删除原始数据的最上面一行数据,后面的数据就会一次向上移动一行。重复之前的操作,直到所有数据都被打印了。
如果希望操作完成后,Sheet1不改变,还可以临时建立一个工作表Sheet3,将Sheet1的信息存入Sheet3,把解决步骤中的Sheet1全部换成Sheet3即可。
............试读结束............
查阅全文加微信:3231169 如来写作网:gw.rulaixiezuo.com(可搜索其他更多资料) 本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3231169@qq.com 举报,一经查实,本站将立刻删除。如若转载,请注明出处:https://www.gongwencankao.com/8586.html