ошибка vLookup для VBA в Excel



У меня есть форма, содержащая список элементов, из которого он выводит соответствующий элемент-лист на основе выбора формы. Из-за длины имени элемента каждому элементу присваивается идентификатор. Функция vlookup предназначена для получения соответствующего идентификатора на основе сопоставления имен в другом листе.



Код выглядит следующим образом.



Передаваемое значение fundName - " AX-Arnold Xchange Securities (USD)".
FundID находится в 5-м столбце массива, в котором выполняется поиск.
The 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


Я протестировал метод vLookup на самом excel, и он извлекает правильный идентификатор

588   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)

Comments

    Ничего не найдено.