【发布时间】:2016-05-30 01:33:51
【问题描述】:
我正在尝试使用 VBA 从大型电子表格中提取数据。 A 列包含可以根据存储在其中的数据重复的 ID。
例如我有
ID Value1 Value2
1111 item1 item2
1111 item3 item4
2222 item3 item4
3333 item3 item4
3333 item3 item4
我将 ID 输入到电子表格中,然后想使用 VBA 来查找 ID,然后将 B 列和 C 列中的值拉到另一个电子表格中。
这就是我所拥有的
Sub populate()
Dim ID As String
Dim Value1 As String
ID = Range("D5")
Value1 = Application.WorksheetFunction.VLookup(ID, Worksheets("Required").Range("A4:J1913"), 2, False)
Response = Application.WorksheetFunction.VLookup(ID, Worksheets("Required").Range("A4:J1913"), 7, False)
Worksheets("Coversheet").Range("D8") = Value1
Worksheets("Coversheet").Range("D10") = Value2
Dim Value1address As Long
Value1address = VarPtr(Value1)
Worksheets("Coversheet").Range("D15").Value = Cells(Value1address).Offset(1, 0)
End Sub
除了最后 3 行之外,代码完全按照我的意愿工作。我试图从 Value1 获得 1 行的偏移量,但是它保存为空白,因此将空白值放入单元格 D15。
谁能帮我解决这个问题,或者我如何在 Vlookup 之后轻松地从以下行中获取数据?
【问题讨论】: