【发布时间】:2016-05-02 22:01:23
【问题描述】:
我有一个命名的组合框,我们称之为:“comboBox1”
我想从一个单元格中引用 comboBox1 的值。
=if(comboBox1.Value=1,1,0)
上面的想法是我正在寻找的。我知道我可以将一个偶数附加到组合框1,它填充一个单元格,其他单元格可以读取该单元格,但这只会引入更多移动部件和复杂性。
这一定是可能的,对吧?任何帮助都会很棒,谢谢!
【问题讨论】:
我有一个命名的组合框,我们称之为:“comboBox1”
我想从一个单元格中引用 comboBox1 的值。
=if(comboBox1.Value=1,1,0)
上面的想法是我正在寻找的。我知道我可以将一个偶数附加到组合框1,它填充一个单元格,其他单元格可以读取该单元格,但这只会引入更多移动部件和复杂性。
这一定是可能的,对吧?任何帮助都会很棒,谢谢!
【问题讨论】:
我认为这样的事情是可能的。
对于您的组合框更改事件,您需要触发重新计算:
Private Sub ComboBox1_Change()
Application.Calculate
End Sub
接下来,您需要添加一个自定义的用户定义函数。 Application.Volatile 行的重要部分。这将确保在任何计算后重新计算。
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 上方是 Linked Cell。您只需将此单元格指定为您希望组合框值相等的任何值。
【讨论】:
Excel 允许在 ActiveX 和表单 doropdown(组合)上使用单元格链接。这将在没有任何代码的情况下将值写入单元格。
【讨论】: