У меня есть список сотрудников, которые я обновляю, и поэтому я хотел бы собрать имена по VBA:
Private Sub CommercialBox_DropButtonClick()
Application.ScreenUpdating = False
Dim RngCom As Range
ThisWorkbook.Sheets("MAIN").CommercialBox.Clear
With ThisWorkbook.Sheets("Contact database")
For Each RngCom In .Range("B61:B77")
If RngCom.Value <> vbNullString Then ThisWorkbook.Sheets("MAIN").CommercialBox.AddItem RngCom.Value
Next RngCom
End With
Application.ScreenUpdating = True
End Sub
Это связано с DropButtonClick
и работает нормально.
Теперь мне нужно также соединить значение ячейки с выпадающим списком, чтобы пользователь увидел, что он выбрал. Существует небольшой промежуток времени между вводом значения в таблицу. Вот почему этот код не работает на самом деле:
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("MAIN").CommercialBox.Value = ThisWorkbook.Sheets("Contact database").Range("I109").Value
End Sub
Я пробовал и так, но это скорее обходной путь, чем правильное решение:
Private Sub CommercialBox_LostFocus()
ThisWorkbook.Sheets("MAIN").CommercialBox.Value = ThisWorkbook.Sheets("Contact database").Range("I109").Value
End Sub
Как исправить эту проблему?