如何用宏实现EXCEL的循环赋值并打印
有一个工作表(表1),A1:A100,B1:B100,C1:C100是数据区,另一个工作表(表2)有固定格式,假设表2的A1、B1、C1是打印区域,想让表2的A1、B1、...
有一个工作表(表1),A1:A100,B1:B100,C1:C100是数据区,另一个工作表(表2)有固定格式,假设表2的A1、B1、C1是打印区域,想让表2的A1、B1、C1分别取表1的A1、B1、C1的值,并打印出来。再让表2的A1、B1、C1取表1的A2、B2、C2的值,打印。再让表2的A1、B1、C1取表1的A3、B3、C3的值并打印......请问如何用宏来实现?
展开
展开全部
不用宏也能做到,使用WORD里的邮件合并即可实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub CommandButton1_Click()
Dim i As Integer
Dim sh1 As Worksheet, sh2 As Worksheet
Set sh1 = ThisWorkbook.Sheets("sheet2")
Set sh2 = ThisWorkbook.Sheets("sheet1")
For i = 1 To sh1.Range("A65536").End(xlUp).Row
sh2.Range("A1").Value = sh1.Cells(i, 1)
sh2.Range("B1").Value = sh1.Cells(i, 2)
sh2.Range("C1").Value = sh1.Cells(i, 3)
sh2.Range("A1:C1").PrintOut
DoEvents
Next i
Set sh1 = Nothing
Set sh2 = Nothing
End Sub
这个样子吧
Dim i As Integer
Dim sh1 As Worksheet, sh2 As Worksheet
Set sh1 = ThisWorkbook.Sheets("sheet2")
Set sh2 = ThisWorkbook.Sheets("sheet1")
For i = 1 To sh1.Range("A65536").End(xlUp).Row
sh2.Range("A1").Value = sh1.Cells(i, 1)
sh2.Range("B1").Value = sh1.Cells(i, 2)
sh2.Range("C1").Value = sh1.Cells(i, 3)
sh2.Range("A1:C1").PrintOut
DoEvents
Next i
Set sh1 = Nothing
Set sh2 = Nothing
End Sub
这个样子吧
更多追问追答
追问
要把表2内所有的固定内容都要打印出来,你的方法只能单独打A1、B1、C1,另外表1在C:\数据.XLS,表2在C:\打印.XLS,如何在你的代码中设置。
追答
最好放到一个工作簿中打印(把这个做成模板,以后的数据复制到这里)。
因为你只是举例说明情况,所以代码也只是按你的情况写了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |