多年前,一家外包公司帮我司一物业公司做仓库收发存管理软件,我方要求先进先出法,该外包公司称那需要加入批次管理,每次出库选择好批次才能实现先进先出。我以为,这完全是谬论,既然是先进先出,那就已经设定好了规律和逻辑,不需要再指定批次,否则那还叫什么先进先出。最近,闲来无事,用EXCEL编了个小程序,经调试,是可以做到先进先出的。上图:
备注:出入库按入正出负的原则制订
完整代码:
Public Crr() As Integer, StartingPosition%
Sub FirstInFirstOut()
Dim Arr, Brr, Drr, i%, TypeCount%, j%, MaxAmount%
Dim Dic As Object
Set Dic = CreateObject("scripting.dictionary")
Arr = [A1].CurrentRegion
'按字典方法,获取产品种类
For i = 2 To UBound(Arr)
If Arr(i, 2) >= 0 Then
Dic(Arr(i, 1)) = Dic(Arr(i, 1)) + Arr(i, 2)
End If
Next
TypeCount = Dic.Count
Brr = Dic.Keys
Drr = Dic.Items
'获取进货的总数量