需要生成很多表格的话,采用EXCEL里面自带的宏编辑器;这个需要花点时间编辑,然后再表一加个控件,一点即可生成。
宏编辑简单如下:
1、打开EXCEL,-工具-宏-宏,输入名称点创建宏。(说明:本例宏名称为paste)
2、在编辑器中输入如下代码:(说明:sheet1(表格1)为原始数据表,sheet2为格式表,sheet3开始时需删除。此例很简单,没什么功能。但基本能达到目的)
Sub paste()
Dim ws As Worksheet
Set ws = Worksheets(2)
With Worksheets
ws.Copy after:=.Item(.Count)
i = .Count
Worksheets(i).Name = "sheet" & i
Cells(2, 1) = "=sheet1!A" & i - 1
Cells(2, 2) = "=sheet1!B" & i - 1
cells(2,3)="=sheet1!C"& i-1
End With
End Sub
3、本来做了个EXCEL文档例子,不知怎么上传,就这样简单说一下吧!详细的可以再请教其他高手!
如果需要打印的话,我建议使用word和excel结合的方式,
word中的“邮件合并”这个功能:
步骤:1、你在word中设计好待打印的模板;
2、选择“工具”-“信函与邮件”-“邮件合并”,(右侧将出现提示);
3、一共六步骤;前两步可以默认设置,第三部选择“浏览”,浏览到你在问题中的excel表格,再将导入的excel中的列名加载到你设计的模板中,最后一步可以预览;
4、打印时就是批量打印了,就如你所说的了。
非常方便,我经常使用这个功能批量打印台签(带名字的那种),和批量打印信封皮。
希望能对你有帮助。
http://lukeyee.blog.sohu.com/162883520.html
有详细的操作说明
例如Sheet1
A B C
1 张三 经理 54
2 李四 职员 27
3 ... ... ...
在Sheet2中:若姓名要填在A1栏,职位填在B2栏,年龄填在C3栏。
在B2中输入: =VLOOKUP(A1,Sheet1!A1:C1000,2,)
(在 Sheet1!A1:C1000中查找A1,并从相同行的第2列中返回值 )
在C3中输入: =VLOOKUP(A1,Sheet1!A1:C1000,3,)
(在 Sheet1!A1:C1000中查找A1,并从相同行的第3列中返回值 )
在A1中输入“张三”,B2,C3自动显示为“经理”,“职员”。
不用N个单表,有这一个表就行。只要输入不同的姓名,则其它输入此公式的空格自动显示数据,这样也方便查寻和打印。
用邮件合并简单实用功能强大。
本人专业做excel文件开发,你上面的要求,我是肯定能给你做到的,我的邮箱是tj5460@163.com,如果你愿意付点点费用(不会很多的),我就帮你做好,如有意请把你的电话发到我邮箱,我打给你就是。