首页
/
每日頭條
/
生活
/
倉庫數據報表如何操作
倉庫數據報表如何操作
更新时间:2025-12-24 05:25:50

大家好!前面三節,我們倉庫出入庫報表實現了出入庫增加,庫位庫存自動生成。這一節,我們來實現出入庫報表的查詢、删除、修改還有工作表之間的跳轉功能。這裡,EK已經實現了出入庫報表目前需要的功能。我們來看一下效果圖。

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)1

圖1 工作表間跳轉

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)2

圖2 入庫單據的增加、查詢、修改、删除功能效果圖

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)3

圖3 庫位庫存功能效果圖

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)4

圖 4 入庫效果圖

從圖1到圖4中,演示了出入庫表格的大部分内容。圖2 隻希望能對大家有所幫助。

好了。看完效果圖。我們現在接着第三節開始制作。

首先,把主頁的表格給修飾一下。如下圖:

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)5

圖5 主頁

其中的6個圖标,EK是利用EXCEL自帶的圖形和文本框組合制作的。這裡EK給大家演示一個圖标的制作過程。後面的大家可以自己制作。如下圖。

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)6

圖6 圖标的制作過程

大家可以試着做一下,當然也可以上網搜索圖标。這裡提供一個方法。

2、在表添加圖标和按鈕。如下圖所示。

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)7

圖7 添加圖标和按鈕

3、在模塊1 中添加如下代碼:

Sub 清空單據信息()

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

End Sub

Sub 入庫單()

Sheets("單據操作").Range("a2") = "入庫單"

Sheets("單據操作").Range("i4:i15") = ""

End Sub

Sub 出庫單()

Sheets("單據操作").Range("a2") = "出庫單"

Sheets("單據操作").Range("i4:i15") = ""

End Sub

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)8

圖8 模塊1 中添加代碼

4、在VBE中添加窗體,列表框,選項按鈕2個,命令按鈕兩個。

設置如下:

窗體名稱->UFDJ, caption->單據查詢

選項按鈕1名稱->OB1,caption->入庫流水賬,value->True

選項按鈕2名稱->OB2,caption->出庫流水賬

命令按鈕1名稱->CB1,caption->單據查詢

命令按鈕2名稱->CB2,caption->關閉

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)9

圖9 插入用戶窗體

雙擊用戶窗體。寫入代碼:

Dim intnum As Integer

Private Sub CB1_Click()

If ListBox1.ListIndex >= 0 Then

Dim LstStr As String

LstStr = Trim(CStr(ListBox1.List(ListBox1.ListIndex)))

s = InStr(LstStr, "-") 1

e = InStr(2, LstStr, Left(LstStr, 1))

estr = Mid(LstStr, s, e - s)

MsgBox estr

If Left(LstStr, 1) = "入" Then

Call 出入庫單據(1, estr)

ElseIf Left(LstStr, 1) = "出" Then

Call 出入庫單據(2, estr)

End If

Unload Me

End If

End Sub

Private Sub 查詢單據(OBNum As Integer)

Dim d As Object

Set d = CreateObject("Scripting.Dictionary")

If OBNum = 1 Then

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

ArrRK = Sheets("入庫流水賬").Range("A4:H" & hrq)

For i = 1 To UBound(ArrRK)

d(ArrRK(i, 4)) = "入庫單号-" & ArrRK(i, 4) & "入庫時間-" & ArrRK(i, 3) & "入庫類型:" & ArrRK(i, 8)

Next

Erase ArrRK

ListBox1.List = d.items()

ElseIf OBNum = 2 Then

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

ArrCK = Sheets("出庫流水賬").Range("A4:H" & hcq)

For i = 1 To UBound(ArrCK)

d(ArrCK(i, 4)) = "出庫單号-" & ArrCK(i, 4) & "出庫時間-" & ArrCK(i, 3) & "出庫類型:" & ArrCK(i, 8)

Next

Erase ArrCK

ListBox1.List = d.items()

End If

End Sub

Private Sub CB2_Click()

Unload Me

End Sub

Private Sub OB1_Click()

Call 查詢單據(1)

End Sub

Private Sub OB2_Click()

Call 查詢單據(2)

End Sub

Private Sub UserForm_Activate()

Call 查詢單據(1)

OB2.Value = False

OB1.Value = True

ListBox1.SetFocus

End Sub

Private Sub UserForm_Initialize()

ListBox1.Font.Size = 12

UFDJ.BackColor = &HFF8080

End Sub

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Call CB1_Click

End Sub

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)10

圖10 代碼1

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)11

圖11 代碼2

5、 添加模塊2 和模塊3 如圖:

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)12

圖12 添加模塊2和模塊3

模塊2 中代碼:

Sub 顯示單據查詢窗口()

UFDJ.Show

End Sub

'單據查詢

Sub 出入庫單據(ListType As Integer, ByVal ListStr As String)

Dim n As Integer

n = 0

If ListType = 1 Then

Sheets("單據操作").Range("a4:a15,c4:i15") = ""

Sheets("單據操作").Range("a2") = "入庫單"

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

For i = 4 To hrq

If Sheets("入庫流水賬").Range("d" & i).Value = ListStr Then

Sheets("入庫流水賬").Range("A" & i & ":H" & i).Copy Sheets("單據操作").Range("a" & 4 n)

Sheets("單據操作").Range("i" & 4 n) = i

n = n 1

End If

Next

ElseIf ListType = 2 Then

Sheets("單據操作").Range("a4:a15,c4:i15") = ""

Sheets("單據操作").Range("a2") = "出庫單"

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

For i = 4 To hcq

If Sheets("出庫流水賬").Range("d" & i).Value = ListStr Then

Sheets("出庫流水賬").Range("A" & i & ":H" & i).Copy Sheets("單據操作").Range("a" & 4 n)

Sheets("單據操作").Range("i" & 4 n) = i

n = n 1

End If

Next

End If

End Sub

Sub 單據修改()

Msg = MsgBox("是否修改表單?", vbInformation vbYesNo, "提示")

If Msg = vbNo Then

Exit Sub

End If

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

n = 1

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

For i = 4 To 15

If Sheets("單據操作").Range("A" & i) <> "" And Sheets("單據操作").Range("i" & i) <> "" Then

Sheets("單據操作").Range("A" & i & ":H" & i).Copy Sheets("入庫流水賬").Range("a" & Sheets("單據操作").Range("i" & i).Value)

ElseIf Sheets("單據操作").Range("A" & i) <> "" And Sheets("單據操作").Range("i" & i) = "" Then

Sheets("單據操作").Range("A" & i & ":H" & i).Copy Sheets("入庫流水賬").Range("a" & hrq n)

n = n 1

End If

Next

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

ElseIf Sheets("單據操作").Range("A2") = "出庫單" Then

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

n = 1

For i = 4 To 15

If Sheets("單據操作").Range("A" & i) <> "" And Sheets("單據操作").Range("i" & i) <> "" Then

Sheets("單據操作").Range("A" & i & ":H" & i).Copy Sheets("出庫流水賬").Range("a" & Sheets("單據操作").Range("i" & i).Value)

ElseIf Sheets("單據操作").Range("A" & i) <> "" And Sheets("單據操作").Range("i" & i) = "" Then

Sheets("單據操作").Range("A" & i & ":H" & i).Copy Sheets("出庫流水賬").Range("a" & hrq n)

n = n 1

End If

Next

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

End If

End Sub

Sub 删除表單()

Msg = MsgBox("是否删除表單?", vbInformation vbYesNo, "提示")

If Msg = vbNo Then

Exit Sub

End If

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

For i = 15 To 4 Step -1

If Sheets("單據操作").Range("A" & i) <> "" And Sheets("單據操作").Range("i" & i) <> "" Then

Sheets("入庫流水賬").Rows(Sheets("單據操作").Range("i" & i)).Delete

End If

Next

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

ElseIf Sheets("單據操作").Range("A2") = "出庫單" Then

For i = 15 To 4 Step -1

If Sheets("單據操作").Range("A" & i) <> "" And Sheets("單據操作").Range("i" & i) <> "" Then

Sheets("出庫流水賬").Rows(Sheets("單據操作").Range("i" & i)).Delete

End If

Next

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

Else

MsgBox "單據删除錯誤,請查看标題!"

End If

End Sub

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)13

圖12 模塊2 中代碼1

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)14

圖13 模塊2 中代碼2

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)15

圖14 模塊2 中代碼3

模塊3中代碼:

Sub 隐藏()

For Each Sh1 In Worksheets

If Sh1.Name <> "主頁" Then

Sh1.Visible = False

End If

Next

End Sub

Sub 跳轉至主頁()

Call 隐藏

End Sub

Sub 跳轉至基礎信息()

Call 隐藏

Sheets("基礎信息").Visible = True

Sheets("基礎信息").Activate

End Sub

Sub 跳轉至入庫流水()

Call 隐藏

Sheets("入庫流水賬").Visible = True

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

End Sub

Sub 跳轉至出庫流水()

Call 隐藏

Sheets("出庫流水賬").Visible = True

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

End Sub

Sub 跳轉至單據操作()

Call 隐藏

Sheets("單據操作").Visible = True

Sheets("單據操作").Activate

End Sub

Sub 跳轉至庫存跟蹤()

Call 隐藏

Sheets("庫存跟蹤表").Visible = True

Sheets("庫存跟蹤表").Activate

End Sub

Sub 顯示全部表格()

For Each Sh1 In Worksheets

Sh1.Visible = True

Next

Sheets("主頁").Activate

End Sub

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)16

圖15 模塊3 中代碼

6、在ThisWorkbook中添加代碼:

Private Sub Workbook_Open()

Call 隐藏

End Sub

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)17

圖16 ThisWorkbook添加代碼

7、為每個圖标和按鈕添加指定宏:

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)18

圖17 圖标指定宏

這裡隻演示了【主頁】表中的指定宏。後面的,EK留給大家自己去指定相應的宏。EK給大家準備了一個表格。

倉庫數據報表如何操作(從零開始制作倉庫出入庫報表)19

圖18 圖标對應的宏

到這裡,從零開始制作出入庫表全部已經完成了。如果,有不懂的地方,可以在評論區告訴EK。如果想獲得文中的文件,可以關注私信EK數字代表的節數。

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

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
如何區分違章攝像頭
如何區分違章攝像頭
人在江湖飄,哪能不挨刀!隻要車在路上跑,被攝像頭拍到違章是不可避免的,相信沒有一位司機敢說自己從來沒有被攝像頭拍到。面對這個24小時不休息的電子警察,我們如何能不被它拍到呢?俗話說:“知己知彼百戰百勝”,想要不被它罰,就得先了解它!一、電子...
2025-12-24
九陽豆漿機怎麼打營養粥
九陽豆漿機怎麼打營養粥
豆漿是中國人最喜愛也最常見的早點飲品,早餐一杯豆漿、一根油條,然後來一碗稀飯加上一個雞蛋,美美的一頓早餐,開啟一天的賦能生活;不過,很多早點店,地攤店的豆漿基本是又甜又稀,已經沒有純豆漿那種濃濃的味道了。所以,對于家庭用戶來說,很多人都喜歡...
2025-12-24
關心妻子方法
關心妻子方法
關心妻子方法?了解妻子的情緒,每個人都會有自己的情緒,尤其是碰到不開心的事情,就應該要主動關心,多哄哄她開心起來,下面我們就來聊聊關于關心妻子方法?接下來我們就一起去了解一下吧!關心妻子方法了解妻子的情緒,每個人都會有自己的情緒,尤其是碰到...
2025-12-24
6乘7的被罩是多少米
6乘7的被罩是多少米
6乘7的被罩是多少米?如果選擇的被罩是6×7,就是指6尺寬,7尺長,而一尺等于10寸,一寸就等于0.1尺,通過這樣的轉換,我們能夠了解到6尺就是200厘米,7尺就是230厘米,所以是200×230厘米的被套,今天小編就來聊一聊關于6乘7的被...
2025-12-24
川崎玫瑰折法原版超慢動作
川崎玫瑰折法原版超慢動作
川崎玫瑰折法原版超慢動作?,今天小編就來說說關于川崎玫瑰折法原版超慢動作?下面更多詳細答案一起來看看吧!川崎玫瑰折法原版超慢動作折紙玫瑰制作大全中,比較經典和常見的就是各種類型的四瓣折紙玫瑰花了,較為經典的是大家非常熟悉的川崎玫瑰花,其本身...
2025-12-24
Copyright 2023-2025 - www.tftnews.com All Rights Reserved