3
我正在运行Excel 2003.我有以下VBA代码,对应于包含ComboBox
控件和Label
控件的简单UserForm
。它通过保存ComboBox
工作,但在保存Label
时生成类型不匹配错误。为什么标签在VBA中会出现类型不匹配错误,但组合框不会?
Private whatComboBox As ComboBox
Private whatLabel As Label
Private Sub UserForm_Initialize()
Call SaveComboBox(SomeComboBox)
Call SaveLabel(SomeLabel)
End Sub
Private Sub SaveComboBox(aComboBox As ComboBox)
Set whatComboBox = aComboBox
End Sub
Private Sub SaveLabel(aLabel As Label)
Set whatLabel = aLabel
End Sub
[我很欣赏VBA与大多数其他语言相比是有限的。但我不会认为这是它会出错的那种。]
谢谢大家!
+1尼斯一个亚洲时报Siddharth。 –
优秀!就是这样,谢谢你这么清楚地解释它! – Richard
相关问题,如果使用Control作为声明类型:如何在VBA中投射?例如,如果我已将所有对象都声明为Control,但我需要调用特定于ComboBox的方法,那么我需要做什么? (或者,VBA是否根据对象的实际类型而不是其声明的类型动态确定方法调用的有效性?) – Richard