在另一个工作簿的另一列中查找多个匹配值和 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 & ", "