我在工作表中有一个名字列表,我将这些名字设置为useform上组合框的RowSource。
涉及两个组合框。一个开始为满,另一个开始为空。
我希望当我点击一个名称从第一个(完整的)组合框,说名称被添加到其他组合框,并从原来的组合框删除(反之亦然,最终)。
无法使用 RemoveItem 删除任何内容。
我使用“Menu.ListeAjoutAg.ListIndex”的方法来获取当前选择的索引(“* Menu*”是用户窗体,“ListeAjoutAg”是组合框),但它不起作用。
尝试通过一个真实的快速创建的变量“*b *”输入,但结果相同。没有索引号工作。我检查了一下,我只提供了正确的和/或在我的列表范围内的函数整数(0,1,3,4...)(大约45个名称)。
Private Sub ListeAjoutAg_Change()
a = Menu.ListeAjoutAg.Text
b = Menu.ListeAjoutAg.ListIndex
Menu.ListeRetirer.AddItem (a) ' goes fine till there
Menu.ListeAjoutAg.RemoveItem (b) 'and here it goes wrong
Menu.ListeRetirer.Enabled = True
Menu.ListeRetirer.Visible = True
End Sub
1条答案
按热度按时间kknvjkwl1#
如前所述:如果设置了Rowsource属性,则无法在列表框中添加或删除项目。
然而,从一个范围填充列表框是相当容易的--只需将单元格值复制到一个数组中,并将该数组指定为
List
。将以下例程放入窗体中,并从窗体
Activate
事件调用它。