Получение Значения ComboBox В Ячейке?
У меня есть имя comboBox, назовем его: "comboBox1"
Я хочу сослаться на значение comboBox1 из ячейки.
=if(comboBox1.Value=1,1,0)
Над идеей является то, что я ищу. Я знаю, что могу присоединить четное к comboBox1, который заполняет ячейку, которая может быть прочитана другими ячейками, но это просто вводит больше движущихся частей и сложности.
Это должно быть возможно, верно? Любая помощь была бы очень кстати, спасибо!
3 ответов:
Excel допускает связь ячеек как в ActiveX, так и в формах doropdown (combo). Это позволит записать значение в ячейку без какого-либо кода.
Я думаю, что нечто подобное возможно.
Для вашего события изменения combobox вам нужно будет вызвать пересчет:
Private Sub ComboBox1_Change() Application.Calculate End SubДалее вам нужно будет добавить пользовательскую функцию, определяемую пользователем. Важная часть этого приложения.Волатильная линия. Это позволит убедиться, что его пересчитали, после любого расчета.
Function GetComboVal(cmbName As String) As String Application.Volatile 'will always recalculate Dim cmb As OLEObject Set cmb = Sheet1.OLEObjects(cmbName) GetComboVal = cmb.Object.Value End FunctionИтак, в вашем сотовом вам нужно будет использовать такой вызов:
=if(GetComboVal("ComboBox1")=1,1,0)Недостатком этого метода является то, что если ваш рабочий лист имеет много расчеты, это может занять некоторое время, чтобы пересчитать.
Добрый День,
Существует гораздо более простой способ связать ячейку со списком. С-в свойствах ComboBox, над ListFillRange связана ячейка. Вы бы просто обозначили эту ячейку так, как вы хотите, чтобы ваше значение combobox тоже было равно.
Comments