tft每日頭條

 > 生活

 > 倉庫數據報表如何操作

倉庫數據報表如何操作

生活 更新时间:2025-02-26 07:12:32

大家好!前面三節,我們倉庫出入庫報表實現了出入庫增加,庫位庫存自動生成。這一節,我們來實現出入庫報表的查詢、删除、修改還有工作表之間的跳轉功能。這裡,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的小技巧。

,

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

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

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