在另一个工作簿的另一列中查找多个匹配值和 return 值
Find multiple values that match and return value from another column, in another workbook
我正在尝试在 VBA 中创建一个超级 VLOOKUP 函数,我已经让它在同一个 sheet 中正常工作,但我似乎无法弄清楚它适用于其他书籍。
基本上这个函数接受三个参数:查找值、查找 Table 和 Return 列。
查找值用于匹配查找中的每个单元格 table,当找到匹配项时,它将 return 来自 Return 列中的单元格的值匹配的单元格行。
这是我的代码:
Function SUPERLOOKUP(lv As Range, lt As Range, rc As Range)
Dim cell As Range
Dim output As String
For Each cell In lt
If cell.Value = lv Then
output = output & Range(ColumnLetter(uRC.Column) & cell.Row).Value & ", "
End If
Next cell
SUPERLOOKUP = Left(output, Len(output) - 2)
End Function
ColumnLetter 是我用来将列号转换为其字母值的函数。
感谢任何帮助,甚至指出正确的方向。
这一行:
output = output & Range(ColumnLetter(uRC.Column) & cell.Row).Value & ", "
Range
将引用 ActiveSheet
,因此您需要使用工作表引用对其进行限定。
例如(切换到 Cells
以避免必须将列号转换为字母):
output = output & lt.Parent.Cells(cell.row, uRC.Column).Value & ", "
或
output = output & cell.EntireRow.Cells(uRC.Column).Value & ", "
我正在尝试在 VBA 中创建一个超级 VLOOKUP 函数,我已经让它在同一个 sheet 中正常工作,但我似乎无法弄清楚它适用于其他书籍。
基本上这个函数接受三个参数:查找值、查找 Table 和 Return 列。
查找值用于匹配查找中的每个单元格 table,当找到匹配项时,它将 return 来自 Return 列中的单元格的值匹配的单元格行。
这是我的代码:
Function SUPERLOOKUP(lv As Range, lt As Range, rc As Range)
Dim cell As Range
Dim output As String
For Each cell In lt
If cell.Value = lv Then
output = output & Range(ColumnLetter(uRC.Column) & cell.Row).Value & ", "
End If
Next cell
SUPERLOOKUP = Left(output, Len(output) - 2)
End Function
ColumnLetter 是我用来将列号转换为其字母值的函数。
感谢任何帮助,甚至指出正确的方向。
这一行:
output = output & Range(ColumnLetter(uRC.Column) & cell.Row).Value & ", "
Range
将引用 ActiveSheet
,因此您需要使用工作表引用对其进行限定。
例如(切换到 Cells
以避免必须将列号转换为字母):
output = output & lt.Parent.Cells(cell.row, uRC.Column).Value & ", "
或
output = output & cell.EntireRow.Cells(uRC.Column).Value & ", "