Vba 创建组合框对象以将其传递到子对象

Vba 创建组合框对象以将其传递到子对象,vba,excel,combobox,Vba,Excel,Combobox,我试图从一个子系统访问UserForm上的ComboBox。因此,我试图将ComboBox对象传递给它 然而,我似乎无法创建一个Combobox对象来传递它。当进入潜艇时,它们总是空的。这就是我一直在尝试的: Dim ctl As ComboBox Set ctl = Me.cb_FcnName 'cb_FcnName is the name of the Combobox I'm trying to access Call ColumnEntries2Combobox(ctl) 这是我的

我试图从一个子系统访问UserForm上的ComboBox。因此,我试图将ComboBox对象传递给它

然而,我似乎无法创建一个Combobox对象来传递它。当进入潜艇时,它们总是空的。这就是我一直在尝试的:

Dim ctl As ComboBox

Set ctl = Me.cb_FcnName 'cb_FcnName is the name of the Combobox I'm trying to access

Call ColumnEntries2Combobox(ctl)
这是我的副手:

Private Sub ColumnEntries2Combobox(ByRef Combo As ComboBox)
     Combo.AddItem = Worksheets(WorksheetName).Cells(currRow, 2)
End Sub
由于某些原因,我似乎找不到任何关于如何创建必要的combobox对象以传递到子对象的文档


提前感谢您的帮助

AddItem
是一种方法,而不是属性。对于方法,我们在空格后提供参数,而不是将属性设置为某物

所以改变

     Combo.AddItem = Worksheets(WorksheetName).Cells(currRow, 2)

这是一个常见错误,因此简单的演示如下:

object.Property = value

object.Method arg1, arg2

AddItem
是一个方法,而不是属性。对于方法,我们在空格后提供参数,而不是将属性设置为某物

所以改变

     Combo.AddItem = Worksheets(WorksheetName).Cells(currRow, 2)

这是一个常见错误,因此简单的演示如下:

object.Property = value

object.Method arg1, arg2

您不必创建新对象,只需使用:
ColumnEntries2Combobox(cb_FcnName)
我刚开始就这样做了,并且在带有附加项的子项中的行中出现了编译错误。它告诉我它需要一个函数或变量,这段代码适合我。解释“进入子系统时始终为空”?你怎么知道的?UserForm上的ComboBox和Sub是否在同一类模块中?它应该是
AddItem“foo”
,带有空格,而不是相等的空格。它是一个方法,而不是一个属性(您可以将其设置为某个值)。是的。组合框位于用户窗体上。我添加了上面的信息…您不必创建新对象,您只需使用:
ColumnEntries2Combobox(cb_FcnName)
我刚开始做了这件事,我在子项的行中得到了一个编译错误。它告诉我它需要一个函数或变量,这段代码适合我。解释“进入子系统时始终为空”?你怎么知道的?UserForm上的ComboBox和Sub是否在同一类模块中?它应该是
AddItem“foo”
,带有空格,而不是相等的空格。它是一个方法,而不是一个属性(您可以将其设置为某个值)。是的。组合框位于用户窗体上。我在上面添加了信息。。。