我被困在这里。下面是我的vba宏。我想查找其他标签,但结果只给我
=VLOOKUP(BE2, $BQ$2:$BQ$6, 1, 0)
但不是标签名称..为什么?如何获取工作表名称?
Set myValues = Application.InputBox("Please select a:", Type:=8)
Set myResults = Application.InputBox("Please select a next sheet:", Type:=8)
On Error Resume Next
Set myValues = myValues.Offset
FirstRow = myValues.Row
FinalRow = Cells(65536, myResults.Column).End(xlUp).Row
Range("BF2").Formula = _
"=VLOOKUP(" & Cells(FirstRow, myValues.Column).Address(False, False) & ", " & _
" " & myResults.Address & " , 1, 0)"
答案 0 :(得分:1)
你很亲密。您只需将 Address External 参数设置为 True 类似的东西:
myResults.Address(External:=True)
答案 1 :(得分:0)
.Address
属性仅返回行和列引用,除非您将External
参数设置为True
。见下文:
Range("BF2").Formula = _
"=VLOOKUP(" & Cells(FirstRow, myValues.Column).Address(False, False) & ", " & _
" " & myResults.Address(External:=True) & " , 1, 0)"
如果您不想在引用中使用工作簿名称,则可以使用.Worksheet.Name
对象的Range
属性构建引用。见下文:
Range("BF2").Formula = _
"=VLOOKUP(" & Cells(FirstRow, myValues.Column).Address(False, False) & ", " & _
" " & myResults.Worksheet.Name & "!" & myResults.Address & " , 1, 0)"
有关详细信息,请参阅MSDN上的Range.Address Property。