У меня проблема при работе над небольшим проектом. Я надеюсь, что кто-то может помочь мне, спасибо заранее!
Чего я пытаюсь достичь?
Я создаю новые динамические ActiveX.ComboBox с заданным списком в нем. Когда пользователь выбирает ComboBox и изменяет выбранный элемент в списке, мне нужно событие для запуска.
Для каждого динамического выпадающего списка событие должно быть одинаковым.
Пример: комбинированный список в D10 изменяется с «ItemA» на «ItemB», затем мне нужно событие, которое проверяет в таблице наличие «ItemB» (столбец A), а затем выбирает значение той же строки столбца B и помещает его в столбец E10, где находится комбинированный ящик.
Я понятия не имею, как добавить DynamicEvents и затем позволить им действовать одинаково. И даже если мне все еще нужно удалять события динамически, так как пользователь может снова удалить строки и комбинированные списки.
Что я пробовал:
Связав Combobox с его ячейкой под ним, а затем я попытался заставить работать событие «Изменение рабочего листа», но, очевидно, оно не работает с связанными ячейками ....
Текущий код:
Sub NewComboBox(ByVal Row As Integer, Name As String, CellWidth As Integer, CellHeight As Integer)
Set ourCombo = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
Link:=True, DisplayAsIcon:=False, Left:=plan.Cells(Row, CellNumber_Product).Left, Top:=plan.Cells(Row, CellNumber_Product).Top, Width:=CellWidth, _
Height:=CellHeight)
With ourCombo
.LinkedCell = plan.Cells(Row, CellNumber_Product).Address
.ListFillRange = "DTB_1!A:A"
End Sub