Vba 如何用少量代码更改多个组合框
这是我的问题 我有一个带有10个组合框的用户表单。 而不是选择所有的情况下,这些组合框一个接一个是 有没有一种聪明的方法可以更改多个组合框属性,如backcolor或fontcolor 例如: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
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的那个。但再次感谢,这为我节省了大量的脚本空间。皮达吉你好,