我有一个表单,其中包含一个项目列表,根据表单选择从中取消相关的项目表。由于项目名称的长度,每个项目都分配了一个ID。 vlookup函数用于根据另一个工作表中的名称匹配来检索相关ID。
代码如下。
传递的fundName值是“AX - Arnold Xchange Securities(USD)”。 fundID位于被搜索数组的第5列。 fundID肯定存在
这里的问题是它给了我一个运行时错误,它无法获取函数类的vLookup属性。错误1004
Private Sub FundLookupImage_Click()
Dim fundName As String
Dim fundSheetName As String
Dim ws As Worksheet
Set ws = Worksheets("DownloadTable")
MsgBox ws.UsedRange.EntireRow.Count
fundName = Me.FundList.Value
fundName = """" & fundName & """"
MsgBox fundName
fundSheetName = CStr(Application.WorksheetFunction.VLookup(fundName, ws.Range("A:F"), 5, True))
MsgBox fundSheetName
Unload Me
End Sub
我在excel上测试了vLookup方法,它检索了正确的ID
答案 0 :(得分:1)
当我必须使用它时,使用VLookup会让我发疯,请试试这个:
DIM searchResult AS variant
searchResult = 0
On Error Resume Next
searchResult = Application.WorksheetFunction.VLookup(fundName, ws.Range("A:F"), 5, 0)
fundSheetName = CStr(searchResult)