‘壹’ 求用EXCEL宏批量打印的代码 。
你是要 (1)将Sheet1的各行内容全部逐一引入“打印”表中,打印。
还是(2)根据P2的内容,到Sheet1中打出 对应在行的内容,引入“打印”表中,打印。
我大概以(1)的要求写个粗略的程序,你修改后调试执行吧:
1、先选择“打印”表,设定打印区域,请选择你要打印的区域,在页面布局-打印区域-设置打印区域,这样区域外的内容不会被打印。
2、在打印区域外,用菜单-开发工具-插入-按钮,按内容为“打印全部表格”,
3、在宏-编辑中,选择“按钮1_Click”,输入下面的宏指令,我只是写上一些关键的语句,你可按具体要求补充完整。原答案被判违规现修改,感谢审核的放行。谢谢!
PublicaAsString,bAsString,cAsString,dAsString,eAsString,fAsString,gAsString'定义公共变量
PublichAsString,iAsString,jAsString,kAsString,lAsString,mAsString,LastRowAsInteger
Sub按钮1_Click()
Sheets("sheet1").Select'选择Sheet1工作表
LastRow=Cells(Rows.Count,1).End(xlUp).Row'求出表格内容的最后一行行号
Forx=2ToLastRow'从第二行的内容开始到最后一行
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.PrintOutCopies:=1,Collate:=True,IgnorePrintAreas:=False'打印指定范围内容,打印一份
Next'处理下一行
EndSub