大家好,今天是从零开始制作【出入库报表】第三课,上一课我们实现了出入库流水的增加功能。今天,我们来接着实现新的功能。有了出入库流水以后,我们就会涉及查找库位和和数量。首先为大家演示一下,完成以后的效果图。
图1 库位信息查询效果图
那我们是如何制作的呢?
这里,EK说一下思路。
1、查看库位信息主要涉及:“产品名称(QAD)”,“库位”、“库存数量”等方面。
2、这里我们通过“产品名称”来做标识。
3、逻辑关系:产品-库存数量= 【产品-入库数量】-【产品-出库数量】、产品-库位-库存数量= 【产品-库位-入库数量】-【产品-库位-出库数量】
4、理清逻辑关系。一步一步,进行功能实现。
下面,我们来实现查询库存库位信息
1、我们先给【入库流水账】和【出库流水账】中添加一下演示数据。如图2和图3.
图2 入库流水账演示数据
图3 出库流水账演示数据
3、在【库存跟踪表】中E2的公式为:E2=SUMIF(入库流水账!$A:$A,$A6,入库流水账!$E:$E)-SUMIF(出库流水账!$A:$A,$A6,出库流水账!E:E)。往下填充至最后一行。操作如下:
图4 公式效果图
4、打开VBE窗口,这里有两种方法。第一种,快捷键【ALT】+【F11】。第二种,点击[开发工具]选项卡中的[查看代码]。
5、在模块1中创建两个过程:
过程1 代码如下:
Sub 生成库位信息()
Dim ArrRK, ArrCK, ArrGZ, arrg, ArrFZ(), hrq, hcq, hgz
hrq = Sheets(&34;).Cells(Sheets(&34;).Rows.Count, 1).End(xlUp).Row &34;出库流水账&34;出库流水账&39;【出库流水账】第1列最后一行行号
hgz = Sheets(&34;).Cells(Sheets(&34;).Rows.Count, 1).End(xlUp).Row &34;库存跟踪表&34;f6:m&34;&39;清楚库存跟踪表的库位库存区域
&34;入库流水账&34;a2:g&34;出库流水账&34;a2:g&34;库存跟踪表&34;f6:m&34;库存跟踪表&34;a6:m&34;scripting.dictionary&39;创建字典
&34;-&34;-&34;-&34;-&34;库位生成错误!错误信息:&34;QAD:&34;行号:&34;库位号:&34;-&34;&34;&34;&34;&34;超出库位范围!请合理安排库位&34;库存跟踪表&34;f6&39;释放数组内存
Erase ArrRK
Erase ArrCK
Erase arrg
Erase ArrFZ
MsgBox &34;
End Sub
过程2 代码如下
Sub 清空库位信息()
hgz = Sheets(&34;).Cells(Sheets(&34;).Rows.Count, 1).End(xlUp).Row &34;库存跟踪表&34;f6:m&34;"
End Sub
以上代码,已经经过测试,可以完成库位库存的生成。
图5 过程信息代码
6、 在【库存跟踪表】中添加两个按钮,名称分别为,“生成库位信息”,“清空库位信息”。按钮分别指定宏为过程1-生成库位信息和过程2 -清空库位信息。
操作步骤如下:
图6 插入控件
这里,我们就完成了,我们的库位和库存信息的生成与清空功能。
我们来看一下效果。
图7 效果图
到这里,我们今天所希望完成的表单功能,库位库存查询已经完成。明天我们接着来完善表单的其他功能。如果,有不懂的地方,可以在评论区告诉EK。如果想获得文中的文件,可以关注私信EK。
最后,感谢小伙伴们的观看,我是EK。如果上述内容能够帮助到你们,希望你们能点赞,关注,评论,转发,你们不清楚的地方我会尽力为大家解答,谢谢大家的支持。我会给大家带来更多关于EXCEL的小技巧。
声明:易商讯尊重创作版权。本文信息搜集、整理自互联网,若有来源标记错误或侵犯您的合法权益,请联系我们。我们将及时纠正并删除相关讯息,非常感谢!