農林漁牧網

您現在的位置是:首頁 > 農業

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

2022-01-18由 鄉里滿哥進城 發表于 農業

樣本模板在哪裡

今天遇到一個問題,業務部的樣品單打印出問題了,樣品單打印出問題了!情況緊急,全軍出擊。

情況不是很好,業務人員列印樣品單還是用的最原始的方法,把樣品單模版複製、貼上到下方,再一個個修改,Emmmmm,效率真的不高,而且如果行距沒設好還容易錯位,於是,我決定用Excel+VBA做一個可以批次,自動列印套版給他們。

表格製作

1,設計列印模版,如下圖:

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

模版製作其實蠻簡單的,點一點,畫一畫,拉一拉,存一存,就可以啦。

2,製作列印資料表

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

這裡是我們要列印的資料存檔,所以,也是仔細一些,別搞錯順序啦。

3,整理思路

我們要的目的是把資料表裡的內容,分客戶名稱分別打印出來,但是,由上圖我們可以看出,資料輸入是沒有順序的,可能第一個是A客戶,下一個可能就成B客戶了,而且,我們打樣品單的時候,要把同一個客戶的樣品資料打在同一張,這就意味著我們要對資料分類,那麼,如何實現呢?

製作主鍵

我們知道,在用VLOOKUP抓取資料的時候,第一個引數就是查詢值,如果我們把這個值單純的用客戶名,結果只能找到一個記錄,不符合我們的要求,那麼,我們應該如果做?

看圖:

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

看明白了吧,我設定的是“

日期+客戶名+流水號

有人要問了,日期、客戶名我都知道,可以是這流水號是怎麼來的?

請看公式中

流水號

:“COUNTIF($B$2:$B2,B2))”這一小段,這下明白了吧,意思是統計單個客戶樣品單數量。

於是,問題就變得簡單了,在樣品單模版中使用Vlookup。

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

我們把參照值位置設定在A8,看到效果了吧,這個值是唯一的。

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

在C8的位置使用Vlookup,然後資料成功過來了,向下填充即可。

需要注意的是,前面有個序號:1,2這個我們可以使用取值函式完成。

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

接下來的其他設定,自己去完成咯,日期啦,重量啦,單位啦,客戶簡稱不用去做變動,這個在VBA中會要用到。

下面,我們還要做一個

客戶列表

,公式如下圖

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

這裡用到了陣列,在製作公式完成時,不要按回車,是為陣列應該是“ctrl+shift+enter”。

向下填充完成,我參照的範圍只到101行,資料參照太多Excel表要卡死,而且也沒必要太多,因為樣品單一般不是很多。

開始製作VBA

製作前,在資料表A1位置輸入公式:

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

為什麼要有這個公式?因為VBA迴圈中會要使用到。

Alt+F11開啟VBA編輯器

新增一下模組,命名DY,雙擊該模組,開啟程式碼框並輸入一下程式碼

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

程式碼很簡單,就是迴圈,賦值,判斷,列印,累加。

接著給列印按鈕指定宏P_START,然後我們就可以愉快打批次列印咯。

注意事項

因為單個客戶樣品單時間是一樣的,時間值是一致的,如果同一客戶,不同的時間,那麼樣品單模版是抓不到同一客戶另一個時間的資料喲。如果想要抓到資料,那麼,就要新增另一個客戶名稱列,資料為“

客戶名稱+時間

”用來代替客戶名稱。

記得要開啟宏安全喲,不然是用不了噠。

調出宏工具欄:

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

允許宏執行

Excel樣品模版批次套打(VBA應用Vlookup公式應用)

好啦,這一期就這麼愉快的結束啦,我們相約下一期咯。

有什麼問題,可以留言,

我會挑我會的回答

。^_^