我有一个表单,它有一个项目列表,它根据表单选择隐藏相关的项目表。由于项目名称的长度,每个项目被分配一个ID。vlookup函数旨在根据另一个工作表中的名称匹配来检索相关的ID。
代码如下:
传入的fundName值为"AX - Arnold exchange 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
使用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)