我有一個名爲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