对于仓库工作人员来讲,每天会对大量的物料进行入库、出库的登记操作。今天我们就来教大家如何运用VBA代码,制作一个非常简便的仓库入库单系统。

教你轻松制作仓库入库单自动登记系统

【效果图】

看了上面的动态效果,是不是感觉这个入库单非常神奇的呀。我们只要点击开单,就可以重新更新表格,点击计算可以计算金额,点击保存可以保存我们输入的数据。下面我们就来讲一下如何制作这个仓库入库。

教你轻松制作仓库入库单自动登记系统


第一步:如上图。填写基础数据,将入库单页面的编号,品名等用数据有效性的方式进行引用,这样我们就可以实现轻松的对输入数据进行选择。这样可以尽可能的缩短我们填写数据的时间。

教你轻松制作仓库入库单自动登记系统


第二步:编写VBA代码,实现计算、保存、开单等常用功能。按快捷键alt+F11快速进入VBA代码编辑窗口,如上图。输入下方代码。

Sub 开单()

Set es = Cells.Find("*", , xlFormulas, , , xlPrevious)

[b2] = "SM" & Format(Now(), "ymdhms")

Range([a5], es.Offset(4)) = ""

[e2] = ""

End Sub


Sub 保存()

On Error GoTo 100

Dim es As Range, a%

If Sheet2.[f:f].Find([b2]) = [b2] Then

MsgBox "已经保存过了!"

Else

100:

Set es = Cells.Find("*", , xlFormulas, , , xlPrevious)

a = Application.CountA(Sheet2.[a:a])

If es.Row = 4 Then MsgBox "没有填写内容": End

Range([a5], es).Copy Sheet2.Cells(a + 1, 1)

Sheet2.Cells(a + 1, "f").Resize(es.Row - 4) = [b2] '保存入库单

Sheet2.Cells(a + 1, "g").Resize(es.Row - 4) = [e2] '保存供应商

Sheet2.Cells(a + 1, "h").Resize(es.Row - 4) = Now() '保存日期时间

MsgBox "保存成功!"

End If

End Sub


Sub 计算()

Set es = Columns(3).Find("*", , xlFormulas, , , xlPrevious)

For Each Rng In Range([c5], es)

Rng.Offset(0, 2) = Rng.Offset(0, 1) * Rng

Next

End Sub

第三步:插入按钮插件,指定宏功能即可,如下图:

教你轻松制作仓库入库单自动登记系统


现在你学会如何制作这个仓库入库单了吗?

教你轻松制作仓库入库单自动登记系统