目前我可以使用按钮将一个项目添加到列表框中,但是一旦我添加了另一个项目,它就会覆盖当前项目。
如果列表框中已经有一些值,它还需要能够在底部添加一个项目。
我认为这与查找最后一行有关,但我不确定,任何帮助都会受到高度赞赏:)
Dim i As Integer
With Me.lb_lease
.ColumnCount = 3
.ColumnWidths = "200;50;50"
.AddItem
.List(i, 0) = cbox_hardware.Column(0)
.List(i, 1) = cbox_hardware.Column(1)
.List(i, 2) = cbox_hardware.Column(2)
i = i + 1
End With
答案 0 :(得分:0)
我建议将设置列表框和添加项目的操作分开。下面的过程将设置框并清除所有现有内容。更改工作表和列表框的名称以符合您的具体情况。如果列表框位于用户表单中,代码也将起作用。
Private Sub ResetListBox()
With Worksheets("LibraryAccount").ListBox1
.ColumnCount = 3
.ColumnWidths = "80;50;50"
.Clear ' delete current list
End With
End Sub
下一个程序会向其添加一个项目。它需要一个分号分隔的字符串,例如"一个;两个;三个"。您可以使用ListIndex将其与组合框结果连接以识别行。该过程将反汇编字符串并将其添加到列表的底部。必须更改工作表和列表框名称。
Private Sub AddToListBox(AddArray As String)
Dim Arr() As String
Dim i As Integer
Dim C As Long
Arr = Split(AddArray, ";")
With Worksheets("LibraryAccount").ListBox1
i = .ListCount
.AddItem
For C = 0 To 2
.List(i, C) = Arr(C)
Next C
End With
End Sub
以下程序用于测试上述程序。您可以运行ResetListbox
,然后多次致电TestAdd
。
Private Sub TestAdd()
AddToListBox "One;Two;Three"
End Sub