这是我的问题。
我有一个包含10个comboBox的userform。 而不是选择案例al那些组合框一个接一个 有一种聪明的方法来改变多个组合框属性,例如backcolor或fontcolor?
例如:
Sub ChangeMultipleComboBoxes()
Dim comboB as control
For Each comboB In Me.Controls
If TypeName(comboB) = "ComboBox" Then
comboB.BackColor = vbRed
End If
Next comboB
End Sub
问题在于,对于comboB,我似乎无法找到任何属性来更改它的背景色或任何其他属性。
有人能帮助我吗?
答案 0 :(得分:0)
正如扎伊德所说,你的代码有效。即使您可以像在代码中一样使用这些属性,但只有当ComboBox
特定属性声明为Control
时,才会获得智能感知。 (请注意,所有控件共有的属性,例如Caption
都可用。)
要获取所有ComboBox
属性的智能感知,一旦您确定它是什么,就将Control
重新声明为ComboBox
:
Private Sub UserForm_Click()
Dim ctl As MSForms.Control
Dim comboB As MSForms.ComboBox
For Each ctl In Me.Controls
If TypeName(ctl) = "ComboBox" Then
're-declare it as a ComboBox
Set comboB = ctl
'Now you get IntelliSens
comboB.BackColor = vbRed
End If
Next ctl
End Sub