這兩天公司盤點,想打印些盤點标簽,類似下圖這樣的,在網上搜了下,沒找到合适的案例,就自己做了份。
标簽樣式
首先,做個物料表我的是這樣的,第一列,填寫序号,這個挺重要的,就是依據它來打印的。序号按1,2,3順序填寫。
物料表
其它列,填寫你需要的内容。
先說下,我比較懶,我是先盤點好,最後打印的标簽,數量也打印的。
做标簽頁這個和平時自己做表格一樣,你怎麼順眼怎麼做。下圖是我需要的,一頁A4紙排了8個小标簽
标簽排版
上圖中有個E9單元格,後面會用到。
标簽頁公式
标簽頁填寫的公式
看上圖,很簡單的一個公式,“=VLOOKUP($E$9,物料名稱!$A:$D,4,0)”,從物料名稱表裡按順序填寫名稱。
第2個标簽頁,為“=VLOOKUP($E$9 1,物料名稱!$A:$D,4,0)”,比第1個, 1,以此類推,第8個标簽頁, 7。
VLOOKUP是橫着查找,$符号是絕對引用的意思,不帶$為相對引用。
打印代碼
Sub 打印标簽()
Dim a As Integer '定義變量a為整數
Dim b As Integer '定義變量b為整數
Dim c As Integer '定義變量c為整數
'a = InputBox("請輸入開始打印序号") '若要使用這句,把本行最前面的“'”删除,下同。
'同時,須把下面的“a = 1 及 b = 597 ”删除,或者在其前面加上豆撇 '
'b = InputBox("請輸入結束打印序号")
'下面2行,是我圖省事,自己用的。
a = 1 '從序号1開始
b = 597 '到序号597結束
c = (b 8) / 8 '你一頁有幾個标簽,8就是幾。比如你一頁排了4個标簽,這句就是c = (b 4) / 4
For i = a To c '從序号a打印到序号c,本例中,a是1,c = (b 8) / 8 = (597 8) / 8 = 75.625
Range("E9").Value = a '把E9單元格的數字傳給變量a
'ActiveSheet.PrintOut '若你隻有一個打印機,或者打印前先選定了打印機,可以使用這句,會使用默認打印機打印。
'下句可以指定使用哪個打印機來打印。From:=1, To:=1,可以指定打印第幾頁至第幾頁。
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Preview:=False, ActivePrinter:="Microsoft Print to PDF"
a = a 8 '數字8是一頁的标簽數量,若你一頁排了4個标簽,就改成a = a 4
Next i
End Sub
VBA代碼
這個代碼,很簡單,注釋我也寫的挺清楚的,使用應該沒啥問題。
若你的WPS沒有安裝VBA,可以從網上下個,在評論區我也貼個下載鍊接。excel自帶vba,不用下。
對于E9單元格,若不想看到數字,可以設置字的顔色為紙的顔色,比如”白色“。
最後,若你的表格上看不到“開發工具”,就是下圖中的最後那個。若有,點“宏”,即可看到“打印标簽”項。
開發工具
按下圖順序即可找到。文件→選項→自定義功能區,勾選“開發工具”。WPS和Excel基本相同。
開發工具位置
如有錯誤,歡迎朋友們指正,以免誤人。
忘記了件事,打印機的名字在系統打印機和掃描儀頁查看,照抄填寫到代碼裡即可。
查看打印機名字
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!