【问题标题】:Calling Function with ListBoxes使用列表框调用函数
【发布时间】:2016-11-16 15:06:18
【问题描述】:

我创建了一个函数,获取两个列表框,从一个列表框中获取一个值,然后将该值添加到另一个。我将函数放在我的模块中。这里是 代码。

函数如下:

Function addtolist(selectionlist As ListBox, listselected As ListBox)

For i = 0 To selectionlist.ListCount - 1
    If selectionlist.selected(i) = True Then
        listselected.AddItem selectionlist.List(i)

    End If

Next i

For i = selectionlist.ListCount - 1 To 0 Step -1
    If selectionlist.selected(i) = True Then
        selectionlist.RemoveItem i

    End If

Next i
End Function

在私有子中,一个按钮点击,我在做如下操作:

Call addtolist(selectionlist, listselected)

我不断收到运行时错误“13”类型不匹配。

请帮忙!

【问题讨论】:

  • 哪一行触发了错误?
  • Call addtolist(selectionlist, list selected) 行被突出显示。我只需要在开头添加 MSForms。

标签: vba excel


【解决方案1】:

根据您暴露的代码和错误,我想说您必须将函数参数类型的声明更改为MSForms.ListBox

Function addtolist(selectionlist As MSForms.ListBox, listselected As MSForms.ListBox)

【讨论】:

  • 这解决了这个问题。回想起来,我在网上的一个例子中看到了这一点,但它并没有突出,我也没有尝试过。谢谢!顺便说一句,为什么我需要声明 MSForms?是什么让我不得不这样做?
  • 不客气。这些链接(link1link2)可以帮助您了解差异。最后,由于我解决了您的问题,您可能希望将答案标记为已接受。谢谢!
猜你喜欢
  • 2011-07-24
  • 2012-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-29
  • 1970-01-01
相关资源
最近更新 更多