我正试图实现管理和交换位于我的用户窗体上的两个列表框之间的“项目”。 I.E.我有列表框1中的项目(我使用多选),然后单击“添加”命令按钮,并将所有项目添加到列表框2。 - 这段代码起作用。我还可以根据选择或“全部清除”命令按钮从ListBox2中删除项目。添加和删除列表框之间的项目
当我添加“删除”命令按钮使用的类似代码到“添加”命令按钮时,我得到一个错误。我的目标是从ListBox1中删除项目,这样我就不会在ListBox2中重新添加或复制它们。错误是“运行时错误'2147467259(80004005)':未指定的错误”。
我已经将问题缩小到一个来源,但我不知道如何解决它。问题是我填充ListBox1的方式。目前,我使用命名范围来填充ListBox1,这个命名范围是指表中的一列。
MyUserForm.ListBox1.RowSource = "ListOfItems"
如果我使用下面的代码,我没有得到同样的错误,一切工作正常。
With MyUserForm.ListBox1. .AddItem "Item 1" .AddItem "Item 2" .AddItem "Item 3" .AddItem "Item 4" End With
我真的想坚持到填充ListBox1中的第一个“法”,为命名范围是动态的,由于经常更换。
这是可用的代码。我usethis代码为“添加”项目ListBox2(我有编号,便于参考的代码行):
(1)For i = 0 To LIstBox1.ListCount - 1 (2) If ListBox1.Selected(i) = True Then (3) ListBox2.AddItem ListBox1.List(i) (4) End If (5)Next
这里是我用它来删除LitBox1的项目是已经在代码加入到ListBox2:
(6)For i = ListBox1.ListCount - 1 To 0 Step -1 (7) If ListBox1.Selected(i) = True Then (8) ListBox1.Selected(i) = False (9) ListBox1.RemoveItem (i) (10) End If (11)Next
上述误差为上线(9)当我点击调试。我已经尝试了第8行的代码,但没有运气。
任何帮助将不胜感激。
对不起,我认为最好提供更多的细节,而不是太少。
谢谢Sobigen和sktneer。您提出的解决方案非常完美!我认为“入口”应该被宣布为一个范围。 – IzakG