作者:乔山办公网日期:
返回目录:excel表格制作
楼主,其实批量打印office文档的软件早就有了哦,楼主到嘻皮客娱乐学习网的实用工具版块去看看吧。就有这个软件,可以混合批量打印,不用那么麻烦写个宏啊
贴过去以后百还要刷新度 公式吧内
Sub dayin()
Dim i&
For i = 1 To 165
Sheets("打印容").[B2] = Sheets("sheet1").Cells(i, 1)
Sheets("打印").Select
ActiveSheet.Calculate
Sheets("打印").PrintOut
Next
End Sub
但要根据不同的数据大量打印不同的标签、抄信封,请柬,付款通知单、成绩通袭知单等,就是一件单调耗时的工作。尽管你的数据库或Excel表中已经有了百现成的数据,可是,要根据这些数据制作各度式各样的信封、邀请函、通知单,用复制问/粘贴的老办法吗?逐一修改、打印也是很繁琐的事情。(答剩余171字)
你是要 (1)将Sheet1的各行内容全部逐一引入“打印”表中,打印。
还是(2)根据P2的内容,到Sheet1中打出 对应在行的内容,引入“打印”表中,打印。
我大概以(1)的要求写个粗略的程序,你修改后调试执行吧:
1、先选择“打印”表,设定e68a847a64332打印区域,请选择你要打印的区域,在页面布局-打印区域-设置打印区域,这样区域外的内容不会被打印。
2、在打印区域外,用菜单-开发工具-插入-按钮,按内容为“打印全部表格”,
3、在宏-编辑中,选择“按钮1_Click”,输入下面的宏指令,我只是写上一些关键的语句,你可按具体要求补充完整。原答案被判违规现修改,感谢审核的放行。谢谢!
4、VBA程序基本内容:
Public a As String, b As String, c As String, d As String, e As String, f As String, g As String '定义公共变量
Public h As String, i As String, j As String, k As String, l As String, m As String, LastRow As Integer
Sub 按钮1_Click()
Sheets("sheet1").Select '选择Sheet1工作表
LastRow = Cells(Rows.Count, 1).End(xlUp).Row '求出表格内容的最后一行行号
For x = 2 To LastRow '从第二行的内容开始 到最后一行
a = Cells(x, 1) '合同编号客户名称 将对应行的内容读入变量中
b = Cells(x, 2) '合同编号 Cells(x,2)的意思是第x行第2列的单元格内容
c = Cells(x, 3) '客户名称 a~m是变量,存放x行中各单元格的资料
d = Cells(x, 4) '区域经理
e = Cells(x, 5) '代理商
f = Cells(x, 6) '函件单号
g = Cells(x, 7) '是否回函
h = Cells(x, 8) '合同总价
i = Cells(x, 9) '到款金额
j = Cells(x, 10) '合同余款
k = Cells(x, 11) '截止开票金额
l = Cells(x, 12) '开票金额
m = Cells(x, 13) '求和项
Sheets("打印").Select '
Cells(1, 1).Select '
[J6] = a '合同编号客户名称 将变量内容填入对应单元格的中
[J2] = b '方括号中内容就是单元格名称,如[J2]就是J2单元格
[K2] = c ’这里仅作示范,请你根据变量的内容要填入打印表格中的什么地方你自行修改
[E3] = d
[C5] = e
[E5] = f
[F5] = g
[H5] = h
[J5] = i
[D7] = j
[E7] = k
[F7] = l
[G7] = m
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False '打印指定范围内容,打印一份
Next '处理下一行
End Sub