HLookup - ошибка времени выполнения 424 - требуется объект - PullRequest
0 голосов
/ 23 мая 2018

Я базовый в VBasic.Хотелось бы помочь с ошибкой (блин, появился внезапно, ничего не меняя).Нашел несколько вопросов, похожих на мой, но не смог решить проблему.Вот строка ошибки.

Camposcomplementares.Portar1.Text = Application.WorksheetFunction.HLookup(Sheets("Admin_Lists").Range("BH45"), Sheets("Admin_Lists").Range("BB11:BG38"), 14, False)

После этого: Camposcomplementares.Show -> открывает пользовательскую форму (если это не было ошибкой)

Camposcomplementares = пользовательская форма
Portar1 = являетсяимя текстового поля в пользовательской форме (дважды проверяется на наличие ошибок в имени)
Range ("BH45") - целое число - проверено, и все в порядке
Range ("BB11: BG38") = - это таблица со значениями
Примечания: - проверил аналогичную формулу в Excel, и она работает нормально.
- не используйте "явный" и не определена переменная

Надеюсь, что кому-то будет достаточно помочь. Это работало раньше :(.Tkx.

1 Ответ

0 голосов
/ 23 мая 2018

Попробуйте начать с чего-то действительно маленького.Вот так:

Public Sub TestMe()
    With Application.WorksheetFunction
       Debug.Print .HLookup(Sheets("A_L").Range("A1"), Sheets("A_L").Range("B1:C100"), 2,0)
    End With
End Sub

и заставить его работать.

Затем медленно поменяйте Range("A1") на Range("BH45") и Range("B1:C100") на Range("B1:C100").Это работает?Это потому, что Range(BH45) имеет ошибку !Div/0 или лист "A_L" не существует?

Возможно, он работает до сих пор.Вы можете продолжить отладку, написав что-то вроде этого:

Public Sub TestMe2()
    Camposcomplementares.Portar1.Text = "Something"
End Sub

Это работает?Как вы относитесь к пользовательской форме?Где находится текст?В пользовательской форме или в модуле?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...