单列表_⽤ExcelVBA实现出库管理及⾃动⽣成出库列表
本⽂以⼀个中药库信息为为例,利⽤Excel VBA编程来根据⽤户输⼊的要出库的药品名称和数量信息来⾃动⽣成出库单,并且药品库存信息也会根据出库数量来⾃动更新,当出库数量库存数量时,会出现提⽰信息来告知⽤户库存不⾜等。
⾸先我们来看⼀下具体实现效果:
full的反义词
具体VBA代码及解释如下图所⽰:
Sub StockManagementSystem()
'定义药品名称变量,输出数量变量及出⼝药品现在总库存数量
Dim MedName As String
Dim MedDeliveryNum As Long
Dim AllStockNum As Long
知错就改善莫大焉'定义单⼀记录的出库药品数量及库数组变量
Dim StockNum As Long
Dim i As Long
Dim k As Long
Dim Arrstock As Variant
'得到要出库的药品名称及出库数量
鬼针草
With Sheets("delivery")
.Select
MedName = Range("b2").Value
MedDeliveryNum = Range("e2").Value
End With
'如果信息不全
If MedName = "" Or MedDeliveryNum
红梅赞广场舞MsgBox ("药品信息和出库数量不能为0"): Exit Sub
El
'库存数据列表复制给数组
Arrstock = Sheets("stock").Range("a1").CurrentRegion
'预定义出库数组,出库列表有6列
ReDim ArrDelivery(1 To UBound(Arrstock), 1 To 6)
'遍历库存数据
For i = 2 To UBound(Arrstock)
'如果是出库药品
If MedName = Arrstock(i, 2) Then
'得到库存数量
StockNum = Arrstock(i, 5)
If StockNum > 0 Then '有库存数量
k = k + 1 '增加⼀列出库记录
If StockNum > MedDeliveryNum Then '库存数量⼤于出库数量
站军姿动作要领ArrDelivery(k, 4) = MedDeliveryNum '出库数量
El
ArrDelivery(k, 4) = StockNum '出库数量
End If
ArrDelivery(k, 1) = k '出库单序号
ArrDelivery(k, 2) = MedName '出库药品名称
ArrDelivery(k, 3) = Arrstock(i, 1) '进货⽇期
ArrDelivery(k, 5) = Arrstock(i, 4) '单价
ArrDelivery(k, 6) = Arrstock(i, 4) * ArrDelivery(k, 4) '总额
烧牛尾
AllStockNum = AllStockNum + StockNum '计算总库存数量属牛的几月出生最好
Sheets("stock").Cells(i, 5) = Sheets("stock").Cells(i, 5) - ArrDelivery(k, 4) '新的库存数量MedDeliveryNum = MedDeliveryNum - ArrDelivery(k, 4) '出库数量更新
If MedDeliveryNum高中女孩
Exit For
End If
End If
End If
Next
If MedDeliveryNum > 0 Then '如果库存不⾜
MsgBox ("库存不⾜,请确认。" & vbCrLf & _
"库存数量:" & AllStockNum & vbCrLf & _
"出货数量:" & Range("e2").Value)
El
Sheets("delivery").UdRange.Offt(4).ClearContents
Range("a5").Resize(k, UBound(ArrDelivery, 2)) = ArrDelivery '数据写⼊出库单MsgBox ("job done") '提⽰任务完成
End If
End If
End Sub
想获取源⽂件或更多Exel/VBA知识,请关注 吉祥编程 公众号,留⾔获取。