赞
踩
最近在工作中需要打印固定资产标签,写了个打印固定资产标签的宏,省时又省力。固定资产标签是每页15个,每行3个,共5行。如果想打印其它排列,需要在VBA里更改一下。
固定资产标签的样式:
单击此处进入打印:
输入开始打印序号:
输入结束打印序号:
此Excel是根据自己工作制作的,如果您使用可以按需要更改相应格式与代码。
这是百度云链接:https://pan.baidu.com/s/18hkFcXJghs1MxKhbmjWh1w
提取码:giui
下面是VBA代码:
Sub 固定资产标签()
Dim a, b As Integer
Dim K As Integer
Dim star As Integer
star= 2 '资产起始行号减1
clear '清除表格内容
a= InputBox("请输入开始打印序号:")
b= InputBox("请输入结束打印序号:")
j= 1
For i = a To b
l = (((j - ((j + 2) Mod 3)) Mod 15) 3) * 7 + 2 '标签页行选择
If j Mod 3 = 0 Then
K = 8
Else
If j Mod 3 = 1 Then
K = 2
Else
K = 5
End If
End If
Sheets("标签打印").Cells(l, K) = Sheets("固定资产盘点表").Range("d" & i + star) '资产名称
Sheets("标签打印").Cells(l + 1, K) = Sheets("固定资产盘点表").Range("e" & i+ star) '资产编码
Sheets("标签打印").Cells(l + 2, K) = Sheets("固定资产盘点表").Range("k" & i+ star) '购入时间
Sheets("标签打印").Cells(l + 3, K) = Sheets("固定资产盘点表").Range("p" & i+ star) '使用部门
Sheets("标签打印").Cells(l + 4, K) = Sheets("固定资产盘点表").Range("h" & i+ star) '使用人
If Int(j / 15) = (j / 15) Then
Worksheets("标签打印").PrintOut
Application.Wait Now +TimeValue("00:00:01") '延时为什么加延时?不加延时我的打印反应不过来
clear
End If
If (j = b - a + 1) Then
Worksheets("标签打印").PrintOut
End If
j = j + 1
Next i
End Sub
Sub clear()
Sheets("标签打印").Range("b2:b6") = "": Sheets("标签打印").Range("e2:e6") ="": Sheets("标签打印").Range("h2:h6") = ""
Sheets("标签打印").Range("b9:b13") = "": Sheets("标签打印").Range("e9:e13") ="": Sheets("标签打印").Range("h9:h13") = ""
Sheets("标签打印").Range("b16:b20") = "": Sheets("标签打印").Range("e16:e20") ="": Sheets("标签打印").Range("h16:h20") = ""
Sheets("标签打印").Range("b23:b27") = "": Sheets("标签打印").Range("e23:e27") ="": Sheets("标签打印").Range("h23:h27") = ""
Sheets("标签打印").Range("b30:b34") = "": Sheets("标签打印").Range("e30:e34") ="": Sheets("标签打印").Range("h30:h34") = ""
End Sub
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。