对于仓库工作人员来讲,每天会对大量的物料进行入库、出库的登记操作。今天我们就来教大家如何运用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
第三步:插入按钮插件,指定宏功能即可,如下图:
现在你学会如何制作这个仓库入库单了吗?
精彩评论