2016-07-28 212 views
0

我试图创建一个VLOOKUP宏,提示用户选择单元格和范围。VBA Excel中的VLOOKUP VLOOKUP

基本上我想在一个选项卡中查找另一个选项卡中的范围的单元格值,并返回用户选择的列。

所以......这就是我想要的......

VLOOKUP(""USER SELECT LOOKUP value", "USER SELECT TABLE ARRAY", "USER SELECT COL INDEX NUM", FALSE) 

我有这个迄今为止但是当宏运行完成后没有返回...

Subject = Application.Input box("select Subject to be looked up") 
Sheet = Application.Input box("select tab/range") 

      Formula = "=VLOOKUP(""Subject"",""Sheet"",3,False)" 

end sub 

回答

2

你需要拉引号中的变量和连接使用&

而且要使其范围和公式中使用他们的地址:

Dim subject As Range 
Dim sheet As Range 
Dim clm as long 
Set subject = Application.InputBox(prompt:="select Subject to be looked up", Type:=8) 
Set sheet = Application.InputBox(prompt:="select tab/range", Type:=8) 
clm = Application.InputBox(prompt:="Relative Column Reference", Type:=1) 
'Change the range to the cell into which you want the formula placed. 
ActiveSheet.Range("A1").Formula = "=VLOOKUP(" & Subject.Address(0,0) & "," & sheet.Address(0, 0, xlA1, 1) & "," & clm & ",False)" 
+0

您好,感谢您的帮助!我试过使用这个,但它会引发错误...运行时91对象变量块变量未设置 – Ben

+0

@Ben对不起,我的坏。请参阅编辑。您可能需要刷新页面。如果结束工作,请通过点击答案中的复选标记标记为正确。 –

+0

没关系。是的,我意识到发送我的评论后,它不是设置,所以我设置它们,但它仍然不会返回一个值,只是一个没有公式的空白单元格。 – Ben