[英]Can't get the tabs value (name) in VBA macro
我被困在这里。 下面是我的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)"
你近了 您只需要将Address External参数设置为True即可 。
就像是:
myResults.Address(External:=True)
除非将External
参数设置为True
否则.Address
属性仅返回行和列引用。 见下文:
Range("BF2").Formula = _
"=VLOOKUP(" & Cells(FirstRow, myValues.Column).Address(False, False) & ", " & _
" " & myResults.Address(External:=True) & " , 1, 0)"
如果您不想在引用中使用工作簿名称,则可以使用Range
对象的.Worksheet.Name
属性构建引用。 见下文:
Range("BF2").Formula = _
"=VLOOKUP(" & Cells(FirstRow, myValues.Column).Address(False, False) & ", " & _
" " & myResults.Worksheet.Name & "!" & myResults.Address & " , 1, 0)"
有关更多信息,请参见MSDN上的Range.Address属性 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.