【发布时间】:2014-07-16 13:29:14
【问题描述】:
我对 VBA 比较陌生,并且在使用 VLOOKUP 代码时遇到了问题。
我有 3 张纸。 Sheet2(供应商)包含零件编号和供应商,Sheet 3(成本)包含零件编号和成本。 Sheet1(零件编号)包含一个标准零件编号列表。 Sheets2 和 Sheets 3 中的数据会定期更新。我希望 VBA 在供应商列表 (Sheet2.ColumnA) 中查找部件号 (Sheet1.ColumnA) 并将供应商名称 (Sheet2.ColumnC) 粘贴到 Sheet1.ColumnB 中。一旦我弄清楚如何做到这一点,我将修改代码以与成本类似并将其放入 Sheet1.ColumnC。
这是我目前所拥有的:
Sub Lookup()
Application.ScreenUpdating = False
Dim Lr As Integer
Lr = Worksheets("Part Numbers").Cells(Rows.Count, 1).End(xlUp).Row ' last row
For i = 1 To Lr ' last row
Worksheets("Part Numbers").Cells(i + 1, 2) = "=VLOOKUP(RC[-1],'Supplier'!A:C,3,0)"
If i = "" Then Exit For
Next i
End Sub
当我执行此代码时,Sheet1.ColumnB 会填充(取自单元格 A)
"=VLOOKUP(A2,'Supplier'!A:B:B,3,0)"
谁能告诉我为什么我输入 A:C 时显示 A:B:B?
【问题讨论】:
-
您想对
If i = "" Then Exit For行做什么?似乎它永远不会做任何事情。条件永远不应该恢复。 -
谢谢。我已经阅读了很多关于编码的提要,这可能是我在没有正确理解的情况下捡到的东西