Найти местоположение ячейки на основе значения, а затем сделать что-то - пользовательские формы VBA Excel
У меня есть опыт программирования, однако я новичок в VBA. У меня есть форма пользователя, над которой я работаю. Эта форма имеет поле со списком, который имеет список, инициализированный к нему. Что я пытаюсь сделать, это:
* Получить значение идентификационного номера, введенное пользователем из ComboBox * Возьмите значение, введенное пользователем, и найдите его соответствие, используя диапазон значений из рабочего листа (т.е. Worksheet.Range (& quot; ID_Number_List & quot;)) * Как только он получит совпадение, определите местоположение ячейки, которой он соответствует * Выкл. Установить местоположение ячейки на один столбец, чтобы получить имя, которое относится к идентификатору (та же строка), и установить его в textBoxName.Value. * Выкл. Установите два столбца, чтобы получить номер телефона, который относится к идентификационному номеру, и установите его в textboxTele.value.
Я хочу, чтобы это произошло, как только значение будет выбрано в комбинированном списке, поэтому мой вопрос: идет ли мой код в поле со списком или он переходит в следующее текстовое поле? поэтому, как только человек перейдет к следующему текстовому полю, код будет автоматически выполнен. Я хотел бы, чтобы код полностью выполнялся без перехода к следующему окну.
Этот код не завершен, но вот что у меня есть (я не добавил смещенную часть, я просто выполнил тест):
Dim ORIValue As String
'get value from combo_box Set
ORIValue = COMBO_ORILIST.Value
Dim cLoc As Range
Dim cORIVal As Range
'worksheet with the ID information Dim ORISheetList As Worksheet
Set ORISheetList = Worksheets("ORI_LIST")
'
For Each cLoc In ORISheetList.Range("ORI_LIST")
'compare the input string from list- considering using Match function for this
If StrComp(cLoc, ORIValue, vbTextCompare) Then TextBAgencyName.Value = "test"
Else: Next cLoc
End If
Дайте мне знать, что вы думаете. Если мне придется переписать все, что я буду.