Как устранить ошибку 2042 для функции ВПР

#excel #vba #vlookup

#excel #vba #ВПР

Вопрос:

Я пытаюсь выполнить функцию vlookup с помощью VBA. Тем не менее, он продолжает заканчиваться как 0 из-за ошибки 2042. Я сделал что-то не так с кодированием? Он продолжает выдавать ошибку 2042.

 Dim a As Integer
Dim x As Integer
Dim y As Integer
y = 2
For x = 17 To 21
    a = TextBox1.Value
    z = Application.vlookup(a, Sheet7.Range("A:F"), y, False)
    If Not IsError(z) Then
        Sheet1.Cells(42, x).Value = z
    Else
        Sheet1.Cells(42, x).Value = 0
    End If
    y = y   1
Next x
 

Комментарии:

1. Ошибка 2042 означает, что ваш VLOOKUP возвращает #N / A, что обычно означает, что все, что находится в переменной a, не входит в диапазон поиска.

2. предполагается, что a — это год, должен ли я указывать как целое число или строку?

3. Пройдитесь по своей программе и посмотрите, что a и y находятся на грани сбоя. Это даст вам представление о том, что вы сделали неправильно.