我无法对从一个多列列表框中获取所选数据的用户表单进行编码,并将其添加到同一用户的另一个列表框中。添加后,数据将从源列表框中删除
"列表框"是数据所在的位置," listbox1"是它被添加到的地方。
Private Sub add_Click()
For i = 0 To ListBox.ListCount - 1
If ListBox.Selected(i) = True Then
NextEmpty = ListBox1.ListCount
ListBox1.List(NextEmpty, 0) = ListBox.List(i, 0)
ListBox1.List(NextEmpty, 1) = ListBox.List(i, 1)
ListBox1.List(NextEmpty, 2) = ListBox.List(i, 2)
ListBox.RemoveItem (i)
End If
Next
End Sub
此代码为我提供了运行时错误' 381' "无法设置列表属性。无效的属性数组索引。" 我做了一些环顾四周,但似乎无法确定如何正确使用这些属性。任何帮助是极大的赞赏。
答案 0 :(得分:1)
答案 1 :(得分:1)
为了做到这一点,像丹尼尔说,我们需要使用添加功能。
在下面的代码中,您可以看到我在with-block中如何使用.additem
函数
要在将选择移动到新的列表框后删除选择,我会向后循环
For i = MainListBox.ListCount - 1 To 0 Step -1
Private Sub add_Click()
Dim i As Integer
For i = 0 To MainListBox.ListCount - 1
If MainListBox.Selected(i) Then
With ListBox1
.AddItem
.List(.ListCount - 1, 0) = MainListBox.List(i, 0)
.List(.ListCount - 1, 1) = MainListBox.List(i, 1)
.List(.ListCount - 1, 2) = MainListBox.List(i, 2)
End With
End If
Next i
For i = MainListBox.ListCount - 1 To 0 Step -1
If MainListBox.Selected(i) Then
MainListBox.RemoveItem (i)
End If
Next i
End Sub