怎麼制作出入庫明細表?本期目标:制作一個簡單的出入庫登記表 根據唯一字段條碼,來登記入庫數量,出庫數量,自動計算庫存數量,今天小編就來聊一聊關于怎麼制作出入庫明細表?接下來我們就一起去研究一下吧!
本期目标:制作一個簡單的出入庫登記表。 根據唯一字段條碼,來登記入庫數量,出庫數量,自動計算庫存數量。
效果圖:
簡單的出入庫流水表
目标:手工輸入條碼和名稱,輸入入庫或出庫數量後,自動計算本期倉庫餘數,自動輸入填寫日期。
這個需要用到WorkSheet的Change事件。進入VBA界面。
我們的表格在Sheet1,單擊選中
選中WorkSheet的Change事件後,會自動生成程序收尾
看代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 4 And Target.Column <> 5 Then Exit Sub
If Target.Row < 2 Then Exit Sub
r = Target.Row
arr = Range("a1:e" & r).Value
For i = r To 2 Step -1
If arr(r, 2) = arr(i, 2) Then
jin = jin arr(i, 4)
chu = chu arr(i, 5)
End If
Next i
Range("f" & r).Value = jin - chu
Range("a" & r).Value = Now()
End Sub
程序功能:從輸入行開始合計與本行條碼一樣的總進貨數減去總出貨數,然後填寫到餘數列,并寫入日期。
為了減少誤操作,我們可以設計一個限制區域,光标移到日期列(第一列)和餘數列(第6列)時,讓光标自動移開。這在WorkSheet的SelectionChange事件裡實現,前面步驟與選擇Change事件一樣,我們直接上代碼:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1).Select
Exit Sub
End If
If Target.Column = 6 Then
Target.Offset(0, -1).Select
Exit Sub
End If
End Sub
最終效果
這個功能用公式也能實現,隻是數據量稍微一大,會造成打開文件是卡頓,用VBA其實是把集中的計算分開了。
想解決哪方面的問題,請給我留言。下期我想把這個表格做個下拉菜單,讓輸入簡便化一些。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!