Excel除了我们日常的数据整理,利用表格特有的代码功能,我们还可以实现一些高级的数据操作。比如说仓库入库单的制作,它能够实现通过点击自动完成数据录入、计算以及保存等操作。
![1342c4a8a7a34d0cab0014f334df00ce.gif](https://i-blog.csdnimg.cn/blog_migrate/0824379a81f888b4efd43f97c60f91a3.gif)
上面就是我们仓库入库单的效果演示,我们可以通过计算、保存、开单的按钮设置,点击就能够自动进行数据的计算、保存以及清除之前数据重新输入等多种操作。是不是感觉非常的方便了?下面我们就来学习一下具体的操作方法。
第一步:首先在表格中填写基础数据,将入库单页面的编号,品名等用数据有效性的方式进行引用,这样我们就可以实现轻松的对输入数据进行选择。这样可以尽可能的缩短我们填写数据的时间。如下图所示:
![6cb7b89a8f7571e2fd3775685c565e22.gif](https://i-blog.csdnimg.cn/blog_migrate/1cb3d7cef2e03337894ecb5b902276d2.gif)
第二步:通过Excel编写VBA代码,实现计算、保存、开单等常用功能。按快捷键alt+F11或点击工作表名称右键选择查看代码,快速进入VBA代码编辑窗口,然后输入下方对应的代码。如下图所示:
![5bb2316da7d6bc30c74b19656fa3d019.gif](https://i-blog.csdnimg.cn/blog_migrate/8a2937f807eda23ca44a7fb8d3088d91.gif)
开单、保存、计算的代码分别如下:
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
第三步:点击菜单栏:开发工具—插入,选择按钮插件,然后鼠标右键选择指定宏功能即可。这样我们就能够通过指定功能的方式,将控件赋予不同的代码功能。操作如下图所示:
![944d84dec5aa4d845602050c1e3eef8e.gif](https://i-blog.csdnimg.cn/blog_migrate/b991037a2c5f06c2c12909d7fa91bd20.gif)
通过上面的三个操作步骤设置,我们就做好了最简单的仓库入库单模板。现在你学会了吗?赶快去操作一下吧!
关注后私信:入库单,获取表格模板!