Всем доброго! Есть умная таблица. В ней несколько столбцов. В первый я ввожу наименование организации. Во второй её ИНН Если такая компания уже есть, то ИНН должен автоматом заполнить TextBox. Если нет, то я в ручном вводе вношу и компанию и ИНН. Прописал в Коде к форме, по клику по TextBox, вызов функции из модуля. Вот код в модуле:
Код
Sub AddINN() 'Заполняем textbox значением ИНН в зависимости от выбора компании
Set ShopSheet = ThisWorkbook.Worksheets("Покупатель")
Set ShopListObj = ShopSheet.ListObjects("UTBShop")
If IfNa(Match(FormShop.CBoxGP, ShopListObj.ListColumns(1), 0), 0) > 0 Then
FormShop.tb_INN = Application.VLookup(FormShop.CBoxGP, ShopListObj.Range, 2, 0)
End If
End Sub
Если убрать "ЕСЛИ", то из списка в ComboBox я выбираю компанию, появляется в TextBox её ИНН. Но если компании в списке нет, то у меня выскакивает ошибка. Прописал условие If, вообще всё перестало работать. Ногами сильно не бейте, просто укажите, где ошибка? Я только учусь.
Научитесь делать пример, где не 100500 макросов, а один, но 100500 строк/столбцов с данными, а минимум (например 5-10) А к этому
Цитата
Sheriff написал: Если убрать "ЕСЛИ", то из списка в ComboBox я выбираю компанию, появляется в TextBox её ИНН. Но если компании в списке нет, то у меня выскакивает ошибка. Прописал условие If, вообще всё перестало работать.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Нашёл решение другим способом обработать запрос. Так правда и не понял, почему мой способ не работает..., ну да ладно.
Вот кусок кода, вдруг кому не будь пригодится:
Код
Set Cell_k = ShopListObj.ListColumns.Item(1).Range.Find(FormShop.CBoxGP.Value, LookAt:=xlWhole)
If Not Cell_k Is Nothing Then 'Если компания найдена
FormShop.tb_INN.Value = Cell_k.Cells(1, 2)
End If