2

我有一个表单,其中包含一个项目列表,它根据表单选择取消隐藏相关项目表。由于项目名称的长度,每个项目都分配了一个 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

4

1 回答 1

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)
于 2013-03-06T08:57:23.057 回答