简单的出入库登记表 (制作出入库明细)

本期目标:制作一个简单的出入库登记表。 根据唯一字段条码,来登记入库数量,出库数量,自动计算库存数量。

效果图:

出入库登记表如何制作,制作出入库明细

简单的出入库流水表

目标:手工输入条码和名称,输入入库或出库数量后,自动计算本期仓库余数,自动输入填写日期。

这个需要用到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其实是把集中的计算分开了。

想解决哪方面的问题,请给我留言。下期我想把这个表格做个下拉菜单,让输入简便化一些。