2017-02-15 6 views
1

В соответствии с вопросом: выбор нового значения в combobox ActiveX, связанного с ячейкой, с помощью свойства .LinkedCell, не вызывает событие изменения рабочего листа.Изменение значения связанной ячейки Combobox не вызывает события изменения рабочего листа

Я знаю, что для комбинированных ящиков есть различные события, такие как собственное событие изменения, но ни один из них не подходит для того, что мне нужно делать (выборочная проверка данных в измененной ячейке).

Как обходной путь Я передаю .LinkedCell в мой код проверки на выпадающем списке и активирует события (я не могу использовать потерянный фокус ... длинную историю, а также при изменении огней при каждом изменении персонажа, которое тоже много).

Кто-нибудь знает о более чистом способе передать значение вокруг на уровне события, как только пользователь закончит использовать элемент управления?

ответ

1

Если вы хотите, чтобы вызвать ChangeEvent в листе, не делая ничего, вот способ сделать это:

В модуле:

Option Explicit 

Public Sub CheckMe() 
    Application.Run "tblDB.Worksheet_Change", tblDB.Cells(1, 1) 
End Sub 

В книге, названной tblDB:

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 
    Debug.Print "triggered" 
End Sub 

Теперь, когда вы запускаете CheckMe, произойдет событие Worksheet_Change.

 Смежные вопросы

  • Нет связанных вопросов^_^