获取VBA中所选ListBox项的顺序?

时间:2016-06-02 11:58:02

标签: vba listbox macros solidworks

我有两个列表框,一个在左边,一个在右边。理想情况下,我希望用户能够从左侧列表框中选择他想要的任何数据,然后按下选择项目的“添加”按钮,按照他们选择的顺序在第二个列表框中显示项目

如果他们先选择第2项,然后选择第23项,第17项,我希望右侧的列表框显示:

Item 2
Item 23
Item 17

现在,虽然我可以让用户点击第2项,然后添加(其中编译器遍历列表项并将所选项放在第二个列表中),然后是项23,然后是Add,依此类推,我想再一次自动化这个过程。我知道列表框的“Selected”属性是一个布尔数组。

我遇到了this,但它在jQuery中,我不知道它的第一件事:

思考?有什么方法可以让编译器记住选择顺序吗?

1 个答案:

答案 0 :(得分:1)

您可以使用集合并跟踪自己选择的索引。

Dim selectedIndices As New Collection

然后在选择或取消选择的列表框上使用Add()或Remove()函数

selectedIndices.Add(index)
selectedIndices.Remove(index)

取决于左侧列表框中项目的状态。然后,不是使用列表框的selected属性,而是遍历集合并按顺序添加它们。