請問inputbox搭配vlookup的方法

看板Visual_Basic作者 (小儒)時間7年前 (2017/03/12 17:19), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/2 (看更多)
請問有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://www.ptt.cc/bbs/Visual_Basic/M.1489310385.A.522.html

03/12 18:24, , 1F
宣告一個worksheet,再用name去對myenter值試試
03/12 18:24, 1F

12/27 05:41, , 2F
Worksheets(“myEnter”)的引號拿掉呢?
12/27 05:41, 2F

12/27 05:41, , 3F
上引號包住的文字被視為字串而非變數
12/27 05:41, 3F
文章代碼(AID): #1OnHAnKY (Visual_Basic)
文章代碼(AID): #1OnHAnKY (Visual_Basic)