我在 VBA 中编写了一个代码,如果满足某个条件,则在其中完成 V-Lookup。它工作得很好,但现在我怎样才能对下一行数据值做同样的事情而无需重写代码。
Sub starting_stock()
If Worksheets("out").Range("E2").Value = "" Then
Set ItemRef = Worksheets("out").Range("A2")
Set MyRange = Worksheets("Inventory").Range("A:G")
Worksheets("out").Range("D2").Value = Application.WorksheetFunction.VLookup(ItemRef, MyRange, 7, False)
End If
End Sub
我想用 E3、A3 的值对 D3 做同样的事情,而不需要每次都重写代码。
这是一个库存控制系统。
有两张表,一张称为“Inventory”,另一张称为“out”。库存中的字段:ProductRef、初始库存、出库(对应于特定 ProductRef 的所有 Qty Out 的 SUMIF)、最终库存。输入输出字段:产品参考、起始库存、输出数量、剩余库存、日期。
这里的目的是如果 Qty Out 为 Null 并根据产品 Ref 的 V-Lookup 标准,将最终库存从库存 V-lookup 到起始库存。
Remaining Out 有一个简单的公式Starting Stock- Qty Out。
不能使用常规公式,因为在数量中所做的任何更改都会影响之前具有相同产品参考的所有条目。
起始库存应为截至日期并保持不变。