#excel #vba #vlookup
#excel #vba #ВПР
Вопрос:
Я пытаюсь изменить название продукта на основе его идентификатора. Integer работает только как тип данных для меньших чисел. Код, работающий для более коротких идентификационных номеров с использованием Long, не решает проблему. Что мне нужно изменить?
Вот мой код VBA:
Function ProdName(webID As Long)
Dim name As String
Set book2 = Workbooks("PERSONAL.xlsb")
Set r2 = book2.Sheets(2).Range("$A:$B")
name = WorksheetFunction.VLookup(webID, r2, 2, False)
ProdName = name
End Function
И вот таблица, которую я изучаю:
Я также пытался поиграть с типами данных, но безрезультатно.
Заранее спасибо!
Комментарии:
1. Используйте
Variant
..2. Изменено на: Function ProdName (WebID как вариант), но по-прежнему выдает ошибку «#NUM!». Что-нибудь еще, что мне нужно изменить?
3. Работает для меня с вашими образцами данных, даже с
Long
, но я быVariant
все равно использовал.4. Это очень странно. Должен ли я попробовать создать новый модуль? Вы используете модуль или модуль класса?
5. Я бы попробовал отладку, вызвав функцию изнутри a
Sub
, а не как UDF.