返回列表 上一主題 發帖

VLOOKUP的問題

VLOOKUP的問題

想請問一下如何在使用VBA的VLOOKUP,因為測試了很多但是抓的值都是錯誤,但又不知道哪裡錯誤,有沒有人可以幫我解釋一下

程式碼如下:

Sub V式抓值()

Dim x As Integer
Dim y As String
Dim z As String
1
z = 2
y = Worksheets("Sheet1").Range("A" & z).Value
Range("B2").Value = Application.VLookup(y, Sheet2.[A1:B100], 2)



End Sub



麻煩了!>"<

Book1.rar (12.15 KB)

疑~我附件有上傳成功啊!在我發言的最下方,您這邊看不到嗎?
不過我剛剛有修改了一下,將您說的參數放進去,但還是沒辦法ㄋ
在B2的這格還是顯是#N/A,我有用函數去試試看,若出現#N/A不是沒抓到值,
而是最開始的『y』這個值沒有抓到的意思,但是應該是有抓到啊!這個問題我一直很納悶~"~

P.S. 小弟最近才第一次發帖發問,沒經驗若造成您的不便真的很抱歉。

TOP

哈哈!謝謝a8350070 幫我尋找錯誤,也謝謝oobird的耐心解答,偶經過測試真的抓到值了!
超開心的,但是有個疑問,當宣告時為何不能使用string反而用long才行?那此兩個使用的方式
為何?那Long所代表的意思是什麼呢?能否教導一下,謝謝!
實在感謝以上幫忙我解答的前輩們,謝謝!

TOP

本帖最後由 sang520 於 2011-6-30 11:26 編輯

我又遇到問題了!為什麼我把其他檔案的資料複製→貼上值到sheet2這個活頁
!程式碼都沒變,但是又抓不到了!是什麼問題啊????

Book1(增加資料筆數).rar (86.04 KB)

TOP

謝謝!您的解答已經讓我找到答案了!
真的是受益良多!

TOP

想在請問一下!在函數的時候如果需要判斷是否錯誤的時候會常用
『if』搭配『iserror』去除錯誤的顯示方式,可是在VBA的時候該如
何去除錯呢?

TOP

哈!原來如此,我有嘗試這樣寫
if  Application.VLookup(y, Sheet2.[A1:B100], 2, 0))=iserror then
可是錯誤一時也不知該怎麼處理,原來iserror的寫的方式跟函數很像,謝謝指導!
再請教一下application引用的函數中,為什麼不能使用offset呢??
那如果我想抓的直在索引列的左邊,因為vlookup只能往右邊抓值,但是
有時候數據在陣列的左邊,那該怎麼處理啊?

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題