excl中宏指令打印问题:
SHEET1为数据库(固定格式),每天会往里加数据。
SHEET2为中转表格
SHEET3为固定打印模板
在表1中运行宏快捷键,会选取A1:P1之间的数据,复制到表2中,然后到表3中执行打印动作(表3打印模板中的数已经对应表2中的变量数值了);
然后回到表1中选取A2:P2之间的数据,重复以上动作,最终在A4:P4执行完后结束指令。
代码如下(傻瓜式录制宏):
Sub 一打四()
'
'
Range("A1:P1").Select
Selection.Copy
Sheets("SHEET2").Activate
Range("A1").Select
ActiveSheet.Paste
Sheets("SHEET3").Activate
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2147483647, Copies:=1, Preview:=False, ActivePrinter:="\192.168.0.218\小打印机(xx单)",
PrintToFile:=False, Collate:=True, IgnorePrintAreas:=False
Application.EnableEvents = True
Sheets("SHEET1").Activate
Range("A2:P2").Select
Selection.Copy
Sheets("SHEET2").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
Sheets("SHEET3").Activate
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2147483647, Copies:=1, Preview:=False, ActivePrinter:="\192.168.0.218\小打印机(xx单)",
PrintToFile:=False, Collate:=True, IgnorePrintAreas:=False
Application.EnableEvents = True
Sheets("SHEET1").Activate
Range("A3:P3").Select
Selection.Copy
Sheets("SHEET2").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
Sheets("SHEET3").Activate
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2147483647, Copies:=1, Preview:=False, ActivePrinter:="\192.168.0.218\小打印机(xx单)",
PrintToFile:=False, Collate:=True, IgnorePrintAreas:=False
Application.EnableEvents = True
Sheets("SHEET1").Activate
Range("A4:P4").Select
Selection.Copy
Sheets("SHEET2").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
Sheets("SHEET3").Activate
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2147483647, Copies:=1, Preview:=False, ActivePrinter:="\192.168.0.218\小打印机(xx单)",
PrintToFile:=False, Collate:=True, IgnorePrintAreas:=False
Application.EnableEvents = True
End Sub
运行结果及报错内容
目前运行正常,但是每次都要打印4单,如果是只有两条数据也是打印四单。
问题1:怎么第二次在表1选取数据的时候直接选A2:P2,第三次选A3:P3 , 就是选取A1+n:P1+n,N等于上次抓取行数+1?指令咋实现
问题2:有的时候只有一单需要打印,在第二次选取单元格时若值为“空”则停止宏
希望大家踊跃留言 感谢感谢。