ошибка 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, и он извлекает правильный идентификатор
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