我正在尝试在VBA中创建一个超级VLOOKUP功能,并且我已经让它在同一张表中正常工作,但我似乎无法弄清楚是否可以将其用于其他书籍。
这个函数基本上有三个参数:Lookup Value,Lookup Table和Return Column。
查找值用于匹配查找表中的每个单元格,当找到匹配项时,它将从匹配单元格行的返回列中的单元格返回值。
这是我的代码:
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是我用来将列号转换为字母值的函数。
任何帮助都表示赞赏,甚至指向正确的方向。
答案 0 :(得分:0)
在这一行:
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 & ", "