将ComboBox作为参数传递

时间:2014-04-16 00:32:58

标签: vba combobox outlook

我需要将ComboBox传递给不同类模块中的方法。首先,我将类模块中的方法定义为:

Public Sub initializeCombo(ByVal s As String, ByRef c As ComboBox)

从表单中调用它:

initializeCombo(s, frmMyForm.cboBox)

这会导致类型不匹配。如果我在表单后面的代码中定义方法,但不在单独的类模块中,则可以使用此方法。

1 个答案:

答案 0 :(得分:3)

这是一个不匹配,因为OptionButton不是ComboBox。尝试将其更改为ByRef c As OptionButton

您可以通过将ByRef c As ComboBox替换为c As Variant来解决这个问题,然后在第一行设置断点并在监视窗口中检查传递的内容。这通常有助于了解传递的对象不是预期类型时发生的事情。