我有一个名为comboBox,我们称之为:“comboBox1”在单元格中获取ComboBox值?
我想从单元格中引用comboBox1的值。
=if(comboBox1.Value=1,1,0)
上面的想法是我正在寻找。我知道我可以附加一个comboBox1,它填充一个单元格,它可以被其他单元格读取,但这只是引入了更多的移动部分和复杂性。
这一定是可能的吧?任何帮助将是伟大的,谢谢!
我有一个名为comboBox,我们称之为:“comboBox1”在单元格中获取ComboBox值?
我想从单元格中引用comboBox1的值。
=if(comboBox1.Value=1,1,0)
上面的想法是我正在寻找。我知道我可以附加一个comboBox1,它填充一个单元格,它可以被其他单元格读取,但这只是引入了更多的移动部分和复杂性。
这一定是可能的吧?任何帮助将是伟大的,谢谢!
Excel允许ActiveX和表单doropdown(组合)上的单元格链接。这会将值写入一个没有任何代码的单元格。
我觉得这样的事情是可能的。
为了您的组合框更改事件,您将需要触发重新计算:
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)
的缺点,以这个技术,如果你的工作有很多的计算,可能需要一段时间来重新计算。
当使用COM访问工作表时,结果如此。谢谢! – nickvans 2014-12-24 03:13:29
下午好,
有一个单元格链接到一个组合框更简单的方法。在ComboBox的属性中,上面的ListFillRange是Linked Cell。您只需将此单元格指定为您希望组合框值相等即可。
这是唯一的解决方法吗?我并不反对你,但直观地说,能够直接引用comboBox值是有意义的。感谢您的回复,我会研究这一点。 – sooprise 2010-11-10 14:53:43