Я пытаюсь немного изучить VBA и надеюсь, что кто-то может что-то объяснить мне
Я запускаю vlookup в VBA, который принимает числовой индекс и возвращает соответствующее имя из диапазона листа. Если я передаю этот индекс как Variant, функция завершается ошибкой, но если я передаю Integer, она завершается успешно. Однако, если я изменю данные базового диапазона с числовых на буквенно-цифровые (например, с 1 на 1a), аргумент Variant сработает.
Почему vlookup не работает, когда получен аргумент Variant, а базовые данные числовые?
У меня есть лист, который выглядит так:
Эта функция поиска отлично работает
Sub LookupTest()
Dim LookupValue As Integer
Dim ReturnValue As Variant
LookupValue = InputBox("Enter a value to lookup")
Sheets("Sheet1").Activate
ReturnValue = WorksheetFunction.VLookup(LookupValue, Range("A1:B4"), 2, False)
MsgBox (ReturnValue)
End Sub
Но это не получится
Sub LookupTest()
Dim LookupValue As Variant
Dim ReturnValue As Variant
LookupValue = InputBox("Enter a value to lookup")
Sheets("Sheet1").Activate
ReturnValue = WorksheetFunction.VLookup(LookupValue, Range("A1:B4"), 2, False)
MsgBox (ReturnValue)
End Sub