您現在的位置是:首頁 > 攝影首頁攝影

用VBA在EXCEL裡實現標籤的批次列印

由 什麼值得買 發表于 攝影2021-07-04
簡介事情的起因是需要打一批產品標籤,大家知道標籤格式都是固定的,但是每一件毛重淨重會有微小的變化,如果靠人工來改一個打一張,實在效率低下,那我的目標就是做一個簡單vba來迴圈,填充資料-》列印-》填充下一列資料-》列印

怎麼快速編輯excel標籤欄

相信很多小夥伴曾經也跟我一樣遇到類似的問題:如何讓一些資料能夠自動填充到指定欄並自動打印出來,類似的實現方式比如郵件合併啊,虛擬列印啊,有好幾種,今天我給大家介紹如何用vba來實現。

事情的起因是需要打一批產品標籤,大家知道標籤格式都是固定的,但是每一件毛重淨重會有微小的變化,如果靠人工來改一個打一張,實在效率低下,那我的目標就是做一個簡單vba來迴圈,填充資料-》列印-》填充下一列資料-》列印。那怎麼來實現呢?下面我教大家一步步來。

A。首先,我們要在excel裡開啟vba功能,這個預設是關閉的,因為vba本身是個程式,以前曾經很流行vba病毒。下面的步驟是我百度複製來的,如果看不懂的盆友可以直接百度經驗。

1,開啟Excel軟體,點選左上角的檔案選單

2,選擇左下角的選項選單

3,選擇自動以功能區的開發工具

4,點選頂部的開發工具選單

5,點選Visual Basic按鈕

6,這樣就打開了VBA的編輯區域

A。

用VBA在EXCEL裡實現標籤的批次列印

然後按自己需要的格式編輯好,我自己的弄完以後大概是這個樣子,那個紅色格子都是醒目作用,列印的時候是不需要的哈

用VBA在EXCEL裡實現標籤的批次列印

所有我標紅色的格子,都是需要自動更新資料的地方,下面重要部分來了大家注意看!我們需要用一個函式來實現這個功能,否則第一步自動更新資料我們就做不下去了,對不對。記住這個函式,offset,這個函式根據引用的資料來做參照計算,比如其中有個L6-2,這個什麼意思呢,引用L2欄內的資料來做計算

用VBA在EXCEL裡實現標籤的批次列印

比如圖4中,L6欄的序號是124,這個意思就是我需要引用資料頁中第124行的資料來填充到這個標籤內,

B。好了,vba我們先放一放,我們先把標籤頁和資料頁建立起來。

用VBA在EXCEL裡實現標籤的批次列印

而在=OFFSET(資料頁!$A$2,L6-2,5)這個函式內,資料頁!$A$2表示引用資料頁這個sheet中的資料,L6-2則表示引用哪一行,最後一個5表示這一行中的第幾個資料。其他需要填充的資料也是按照這個格式。

接下來我們編輯好excel文件,並開啟開發工具欄進入設計模式

用VBA在EXCEL裡實現標籤的批次列印

然後我們需要在頁面上增加一個控制按鈕,否則沒有開關啊,所以我們可以點選插入鍵,插入一個按鈕

用VBA在EXCEL裡實現標籤的批次列印

現在我們已經把按鈕拖出來了,但是這個按鈕現在還沒鳥用,因為我們還沒告訴它要幹啥,現在我們右鍵點選這個按鈕,來給它一段神秘程式碼,讓它知道自己該幹啥!

用VBA在EXCEL裡實現標籤的批次列印

來,大夥把這串神秘程式碼貼進去吧!簡單解釋一個,這是一個for迴圈,學過c語言的應該都能看明白,我們取L6欄的資料作為i,然後把L8的資料挪到L9去,i迴圈會順便+1,所以我們給初始資料的時候,就需要同時在L6和L8寫上

C。好了,上面的標籤也講完了,我們接著來說,

Private Sub CommandButton1_Click()

    For i = Range("L8") To Range("L9")

    Range("L6") = i

    ActiveSheet.PrintOut

    Next

用VBA在EXCEL裡實現標籤的批次列印

好了,所有的過程都寫完了,我相信能幫你大大減少工作量,現在關閉設計模式,按鈕一點,印表機嘩嘩譁自己動起來~~