作者handsomefun (小儒)
看板Visual_Basic
标题请问inputbox搭配vlookup的方法
时间Sun Mar 12 17:19:42 2017
请问有VBA高手可以救我吗..
其实我只是要使用inputbox来输入我要vlookup的sheet name而已,但却一直跑出“执行阶段错误‘9’: 阵列索引超出范围” 的错误
不知道到底哪出了问题
以下是code
Sub VU()
Application.DisplayAlerts = False
Dim Dept_Row As Long
Dim Dept_Clm As Long
Dim myEnter As Variant
myEnter = inputBox(“输入前日日期”,“请输入worksheet名称”,“raw_”)
Table1 = Worksheets(“WorkingSheet”).Range(“D16:D83”)
Table2 = Worksheets(“myEnter”).Range(“C17:Q92”)
Dept_Row = Worksheets(“WorkingSheet”).Range(“E16”).Row
Dept_Clm = Worksheets(“WorkingSheet”).Range(“E16”).Column
For Each cl in Table1
Worksheets(“WorkingSheet”).Cells(Dept_Row,Dept_Clm) p Application.WorksheetFunction.Vlookup(cl,Table2,10,False)
Dept_Row = Dept_Row + 1
Next cl
End Sub
其中,就是卡在我把Table2里面的worksheet名设定为myEnter,也就是inputbox的结果,但他似乎读不到
参考网路上的分享,改成Worksheets(“ & myEnter & ”)也还是不行
我真的黔驴技穷啦…
而我若直接改成我要的那个sheet的名字
则Vlookup是没问题的,代表vlookup的指令本身是对的
有人可以帮我解决这个难题吗…谢谢!!
-----
Sent from JPTT on my LGE LG-H860.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.136.208.252
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1489310385.A.522.html
1F:→ coyoteY: 宣告一个worksheet,再用name去对myenter值试试 03/12 18:24
2F:→ vincent0926: Worksheets(“myEnter”)的引号拿掉呢? 12/27 05:41
3F:→ vincent0926: 上引号包住的文字被视为字串而非变数 12/27 05:41