作者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/m.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