0
我試圖通過VLOOKUP值讀取並通過查找錶轉換成另一種價值,我必須能夠在這兩個數字閱讀和字母。VLOOKUP值 - 字符串VS長(或整數)
下面是我的代碼...
Dim myVLookupResult As String
Dim myRange As Range
Dim value As String
Dim value1 As Long
value = "30" ' works only if there is a character in the string
value1 = 30 ' because this is a long, it can't have characters
With Worksheets("vlookup")
Set myRange = .Range(.Cells(2, 3), .Cells(257, 9))
End With
myVLookupResult = WorksheetFunction.VLookup(value, myRange, 7, False)
MsgBox myVLookupResult
現在我想不通的部分是下面的,我真的很感謝所有幫助...
如果我把變量「值'的字符串轉換爲.vlookup命令(值,myRange,7,False),只要字符在字符串中,我就不會收到錯誤。如果值是是所有數字,我得到1004的錯誤。
我需要能夠讀取/支持用作vlookup命令中的查找值的輸入參數的數字和字母。因爲我將value指定爲字符串類型,所以如果我輸入30例如爲什麼會失敗?很明顯,字符串並不總是vba中的字符串。
再次,任何幫助表示讚賞!
即使查找表中的所有數據都只設置爲文本,這是真的嗎? (單元格格式爲文本類型) – ViggyTheBadMonkey
@ViggyTheBadMonkey以我的經驗,「格式爲文本」是破壞查找的最佳方式。 –
@ViggyTheBadMonkey如果你的「數字」是看起來像數字的文本,那麼你將需要在vlookup的第一個標準中使用一個字符串。 vlookup找不到'300'匹配'{「200」,「300」,400「}' –