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“}' –