【发布时间】:2013-08-27 18:46:27
【问题描述】:
我正在尝试设置 VB,以便可以对动态范围的值进行 VLOOKUP。它总是从同一个地方开始,但它可能会根据 H4 中的任何值进一步向下结束。
编辑:这是代码,它可以工作。
谢谢亚历克斯!
Public Sub State()
Dim refRng As Range, ref As Range, dataRng As Range
Dim i As Variant
Dim count As Integer
i = Sheet2.Range("H1").Value
i = i + 3 'offset of when to start
Set refRng = Sheet2.Range("D8:" & Cells(8, i).Address) '//horizontal range of look up values
Set dataRng = Sheet13.Range("A:C") '//data block you want to look up value in
For Each ref In refRng
ref.Offset(1, 0) = Application.WorksheetFunction.VLookup(refRng, dataRng, 2, True)
Next ref
End Sub
【问题讨论】:
-
WorksheetFunction.VLookup 返回什么? ref.Offset 是做什么的?我以为 ref 是我的输出会去的地方,但当我玩它时,情况似乎并非如此。
-
请更清楚地解释您的数据是什么样的,以及您希望通过一些示例输入得到什么。
-
WorksheetFunction.VlookUp根据从D8开始的行中的值返回您尝试查找的值。Offset只是将返回值放在D8等下面的行中。