首页 文章

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

提问于
浏览
1

我有两个列表框,一个在左边,一个在右边 . 理想情况下,我希望用户能够从左侧列表框中选择他想要的任何数据,然后按"Add"按钮选择要在第二个列表框 in the order they choose the item 中显示的项目 .

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

Item 2
Item 23
Item 17

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

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

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

1 回答

  • 1

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

    Dim selectedIndices As New Collection

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

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

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

相关问题