tft每日頭條

 > 生活

 > 倉庫出入庫統計表自動生成圖

倉庫出入庫統計表自動生成圖

生活 更新时间:2025-01-17 06:09:42

大家好,今天,我們接着進行出入庫報表的制作。昨天的我們做好了表格的基礎框架的搭建。

這裡和大家明确一個事情,在進行功能的實現的時候,如果有一些基礎性的東西,EK不會和之前的文章中,會很清晰地和大家分析,公式是如何如何實現,VBA中代碼為什麼會這麼寫?因為EK想的是,盡量多實現功能,提高表格的重用性。如果大家希望知道如何實現,大家可以在評論區告訴EK,EK會盡可能地幫助大家理解,再次,謝謝大家。

今天準備實現入庫單據的錄入,和出庫單據的錄入。

打開昨天的EXCEL文件【VBA制作出入庫報表】,點擊【單據操作】表。

1、首先,咱們實現一個倉庫和庫位的二級聯動。選中【單據操作】表中的倉庫标題下的“F4:F15” 單元格,點擊"數據"标簽卡中的"數據驗證","允許"中選擇"序列"。來源選擇【現有庫存】中的B1:E1單元格,最後點擊确定。

2、選中【現有庫位】中的B1:E21 單元格,然後在“公式”選項卡中,選擇“根據所選内容創建”,選擇“首行”,點擊“确定”。

3、選中【單據操作】中的G4單元格,點擊"數據"标簽卡中的"數據驗證","允許"中選擇"序列"。來源寫入公式=INDIRECT($F4),點擊“确定”。整個操作完成,制作及效果圖如圖1.

倉庫出入庫統計表自動生成圖(從零開始制作倉庫出入庫報表)1

圖1 二級聯動制作及效果圖

4、選中【單據操作】中的A2單元格,點擊"數據"标簽卡中的"數據驗證","允許"中選擇"序列"。來源寫入"入庫單,出庫單",注意這裡是英文輸入法下的逗号。點擊确定。

5、選中C3,D3,E3,F3,H3,B4.分别寫入公式:

C3=LEFT($A$2,2)& "時間"

D3=LEFT($A$2,2)& "單号"

E3=LEFT($A$2,2)& "數量"

F3=LEFT($A$2,2)& "倉庫"

H3=LEFT($A$2,2)& "類型"

B4=IF(A4="","",VLOOKUP(A4,基礎信息!A:B,2,0))

将B4單元格往下填充至B15.處理完畢。來看一下效果圖

倉庫出入庫統計表自動生成圖(從零開始制作倉庫出入庫報表)2

圖2 出入庫單效果圖

6、選中【現有庫位】中的H1:I5 單元格,然後在“公式”選項卡中,選擇“根據所選内容創建”,選擇“首行”,點擊“确定”。選中【單據操作】中的H4單元格,點擊"數據"标簽卡中的"數據驗證","允許"中選擇"序列"。來源寫入公式=INDIRECT($H$3),點擊“确定”。整個操作完成,制作及效果圖如圖3.

倉庫出入庫統計表自動生成圖(從零開始制作倉庫出入庫報表)3

圖3 出入庫類型制作

7、從第7步開始,我們要使用VBA代碼了。首先,點擊“開發工具”選項卡中,點擊“查看代碼”,右鍵左上角當前工作表->插入->模塊。在模塊裡,我們可以開發代碼。操作步驟如圖3.

倉庫出入庫統計表自動生成圖(從零開始制作倉庫出入庫報表)4

圖4 打開VBE窗口

8、在模塊1 中先來寫一個過程:

Sub 添加表單()

hcz = Sheets("單據操作").Cells(Sheets("單據操作").Rows.Count, 1).End(xlUp).Row '【單據操作】第1列最後一行行号

If Sheets("單據操作").Range("A2").Value = "" Then '判斷【單據操作】中“A2”單元格内容是否為空,如為空退出程序

MsgBox "單據名稱錯誤,請重新填寫!"

Exit Sub

ElseIf hcz <= 3 Then '判斷【單據操作】中“A4:A15”單元格内容是否為空,如為空退出程序

MsgBox "單據中沒有數據,請重新填寫!"

Exit Sub

End If

For i = 4 To hcz '對A4:A & hcz 之間的單元格有空值的判斷,如有空退出程序

If Sheets("單據操作").Range("a" & i).Value = "" Then

MsgBox "A" & i & "單元格為空,請填入連續的數據!"

Exit Sub

End If

Next

hrq = Sheets("入庫流水賬").Cells(Sheets("入庫流水賬").Rows.Count, 1).End(xlUp).Row '【入庫流水賬】第1列最後一行行号

hcq = Sheets("出庫流水賬").Cells(Sheets("出庫流水賬").Rows.Count, 1).End(xlUp).Row '【出庫流水賬】第1列最後一行行号

'判斷【單據操作】中“A2”單元格内容,如果為“入庫單”則将數據寫入【入庫流水賬】中,如果為“出庫單”則寫入【出庫流水賬】中

If Sheets("單據操作").Range("A2").Value = "入庫單" Then

Sheets("單據操作").Rows("4:" & hcz).Select

Selection.Copy

Sheets("入庫流水賬").Activate

Sheets("入庫流水賬").Select

Sheets("入庫流水賬").Range("A2").Select

ActiveSheet.Paste

MsgBox "入庫單添加完畢!"

ElseIf Sheets("單據操作").Range("A" & hrq 1).Value = "出庫單" Then

Sheets("單據操作").Rows("4:" & hcz).Select

Selection.Copy

Sheets("出庫流水賬").Activate

Sheets("出庫流水賬").Select

Sheets("出庫流水賬").Range("A" & hcq 1).Select

ActiveSheet.Paste

MsgBox "出庫單添加完畢!"

End If

Sheets("單據操作").Activate

Sheets("單據操作").Range("A4:A15,C4:H15") = ""

End Sub

為了方便大家,直接複制出來了。以上為代碼。如圖5

倉庫出入庫統計表自動生成圖(從零開始制作倉庫出入庫報表)5

9、在【單據操作】中添加一個按鈕,指定宏為“添加表單”,如圖6:

倉庫出入庫統計表自動生成圖(從零開始制作倉庫出入庫報表)6

圖9 控件添加以及出入庫添加演示圖

到這裡,我們今天所希望完成的表單功能,出入庫添加已經完成。明天我們接着來完善表單的其他功能。如果,有不懂的地方,可以在評論區告訴EK。如果想獲得文中的文件,可以關注私信EK。

最後,感謝小夥伴們的觀看,我是EK。如果上述内容能夠幫助到你們,希望你們能點贊,關注,評論,轉發,你們不清楚的地方我會盡力為大家解答,謝謝大家的支持。我會給大家帶來更多關于EXCEL的小技巧。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved