为什么标签在VBA中获得types不匹配错误,但combobox不?
我正在运行Excel 2003.我有以下VBA代码,对应于包含ComboBox
控件和Label
控件的简单UserForm
。 它通过保存ComboBox
但在保存Label
时生成types不匹配错误。
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与大多数其他语言相比是有限的。 但是我不会认为这会是错的。
谢谢大家!
尝试这个
Private whatComboBox As msforms.ComboBox Private whatLabel As msforms.Label Private Sub UserForm_Initialize() Call SaveComboBox(SomeComboBox) Call SaveLabel(SomeLabel) End Sub Private Sub SaveComboBox(aComboBox As msforms.ComboBox) Set whatComboBox = aComboBox End Sub Private Sub SaveLabel(aLabel As msforms.Label) Set whatLabel = aLabel End Sub
关于你的查询
它通过保存ComboBox工作,但在保存标签时生成types不匹配错误。
您必须限定Label对象,因为Excel也有一个名为Label的对象
替代
Private whatComboBox As Control Private whatLabel As Control Private Sub UserForm_Initialize() Call SaveComboBox(SomeComboBox) Call SaveLabel(SomeLabel) End Sub Private Sub SaveComboBox(aComboBox As Control) Set whatComboBox = aComboBox End Sub Private Sub SaveLabel(aLabel As Control) Set whatLabel = aLabel End Sub