Vba 如何用少量代码更改多个组合框

Vba 如何用少量代码更改多个组合框,vba,combobox,Vba,Combobox,这是我的问题 我有一个带有10个组合框的用户表单。 而不是选择所有的情况下,这些组合框一个接一个是 有没有一种聪明的方法可以更改多个组合框属性,如backcolor或fontcolor 例如: Sub ChangeMultipleComboBoxes() Dim comboB as control For Each comboB In Me.Controls If TypeName(comboB) = "ComboBox" Then comboB.BackColor = vbRed End I

这是我的问题

我有一个带有10个组合框的用户表单。 而不是选择所有的情况下,这些组合框一个接一个是 有没有一种聪明的方法可以更改多个组合框属性,如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,我似乎找不到任何属性来更改它的背景色或任何东西


有人能帮帮我吗?

正如扎德尔所说,你的代码很有效。当
组合框被声明为
控件时,您无法获得特定属性的IntelliSense,即使您可以像在代码中那样使用这些属性。(请注意,所有控件共有的属性,例如,
标题
可用。)

要获取所有
组合框
属性的Intellisense,请在确定该属性后,将
控件
重新声明为
组合框

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

您是否尝试运行该代码,如果是,您收到了什么错误?访问泛型控件时,属性不显示在列表中并不意味着它不在列表中。尝试使用
nameOfComboBox.
查看可访问属性的列表。运行您提供的代码,为我正确更改组合框的背景。谢谢大家。哈哈,我没有检查我的代码,比我:p。我讨厌VBA编辑器在excel中使用的Intellisens。我宁愿使用Xcode用于objective-c的那个。但再次感谢,这为我节省了大量的脚本空间。皮达吉你好,