【发布时间】:2014-10-31 19:32:32
【问题描述】:
我有两个工作表 Sheet1 和 Sheet2。在 Sheet1 上,我有一个 ItemNumber 列表,我需要用库存水平(东列)填充该列表。我必须从 Sheet2 的 East 列中提取信息。如果 sheet2 上的 ItemNumber 列包含来自 sheet1 的 ItemNumber 字符串的值,则将 Sheet1 上 East 的所有数量相加。我尝试在带有通配符的 VBA 代码中使用 SumIf 函数,但我的所有值在 Sheet1 上都返回为 0。有人可以建议如何纠正这个问题吗?非常感谢
在 Sheet1 上:
Item Number East
WidgetA
WidgetB
WidgetC
WidgetD
Sheet2 数据:
Item Number East
WidgetA-1 1
WidgetA-2 2
WidgetA-3 3
WidgetB 2
WidgetB-1 4
WidgetC 1
WidgetD-1 1
WidgetD-2 1
我的代码:
Dim i as Integer
Dim ItemNumber, East As Double
Do While Sheet1.Cells(i, 1).Value <> ""
ItemNumber = Sheet1.Cells(i, 1).Value
East = Application.WorksheetFunction.SumIf(Sheet2.Range("B:B"), """*" & ItemNumber & "*""", Sheet2.Range("Q:Q"))
Sheet1.Cells(i, 4).Value = East
i = i + 1
Loop
【问题讨论】: