你的问题描述的不清楚,是不是这样:
1、数据存储在Sheet1的A2-AD8982区域
2、当Sheet2中的L1输入数字时,Sheet2中A5就从Sheet1的F列取到了姓名
3、然后就打印Sheet2表
4、L1中的数字和Sheet1A列数字格式相同。但它是1、2、3...,还是0001、0002、0003...?
建议:
1、先把需求说清;2、一次打印这么多不现实,会把打印机烧了,如果打印机墨盒小,中间还得换墨盒,夹纸了怎么办。3、建议用inputbox函数段给L1单元格赋值,分次打印。
假设你sheet1表A列的数字是1、2、3...
要打印sheet2
请将下面的代码贴在vbe窗口的sheet2中(不知道你的表命名规律,打印那个工作表就贴在那个工作表中)
Sub 打印()
Dim i As Integer
On Error Resume Next
x = InputBox("请输入打印开始序号:", "打印设置")
y = InputBox("请输入打印结束序号:", "打印设置")
For i = x To y
Range("L1") = i
ActiveWindow.SelectedSheets.PrintOut
Next i
End Sub
注意:1、InputBox函数中一定输入自然数;2、先做好页面设置并选定默认打印机;3、先输入小的数测试(比如1-3)
1、数据存储在Sheet1的A2-AD8982区域
2、当Sheet2中的L1输入数字时,Sheet2中A5就从Sheet1的F列取到了姓名
3、然后就打印Sheet2表
4、L1中的数字和Sheet1A列数字格式相同。但它是1、2、3...,还是0001、0002、0003...?
建议:
1、先把需求说清;2、一次打印这么多不现实,会把打印机烧了,如果打印机墨盒小,中间还得换墨盒,夹纸了怎么办。3、建议用inputbox函数段给L1单元格赋值,分次打印。
假设你sheet1表A列的数字是1、2、3...
要打印sheet2
请将下面的代码贴在vbe窗口的sheet2中(不知道你的表命名规律,打印那个工作表就贴在那个工作表中)
Sub 打印()
Dim i As Integer
On Error Resume Next
x = InputBox("请输入打印开始序号:", "打印设置")
y = InputBox("请输入打印结束序号:", "打印设置")
For i = x To y
Range("L1") = i
ActiveWindow.SelectedSheets.PrintOut
Next i
End Sub
Vlookup函数只能取一个人名,这跟你打印8982份人名有什么关系呢。打印的报表又是什么格式呢?代码很简单,但需先了解具体的需求,最好有截屏。另外要打印8982份,打印机能承受吗?