返回列表 上一主題 發帖

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)

沒下附件,不過看你的代碼,vlookup少了一個參數
Application.VLookup(y, Sheet2.[A1:B100], 2,0)

TOP

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

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

TOP

小學生沒法下載附件,不過看看是否這裡出問題先

y = Worksheets("Sheet1").Range("A"& z).Value
My Blog
http://blog.xuite.net/a8350070

TOP

Dim x As Long
Dim y As Long
Dim z As Long

TOP

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

TOP

你把y定義為String
y=值就是字符"100006",而為是數字100006
在表二中只有數字10006,找不到"100006"的字符
所以只能用數字類型
Long所代表的意思是什麼呢,最好是你自己找excel中的說明,才會有印象!

TOP

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

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

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

TOP

VLOOKUP函數必須注意表格內資料型態與搜尋參數資料型態是否相符
也就是說當表格第一欄是數值你的VLOOKUP第一個參數也要是數值
表格第一欄是字串你的VLOOKUP第一個參數也要是字串
學海無涯_不恥下問

TOP

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

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題