Excel VBA多列列表框在顶部添加项目

时间:2014-09-21 01:38:56

标签: excel vba excel-vba listbox

所有

有没有简单的方法在列表框的开头添加项目?

我找到了一些有关插入功能的信息,但它似乎在Excel VBA中不可用。

我找到的唯一方法是创建FOR,它将每行移动到+1位置,然后在0索引处插入项目。我真的希望有一种更简单的方法。

我的长版看起来像这样:

SSub InsertRecordAtTheTop(sText1, sText2) Dim i With lbCases If .ListCount > -1 Then .AddItem "0" ''' add new row For i = .ListCount - 1 To 1 Step -1 ''' move everything +1 postion .List(i, 0) = .List(i - 1, 0) .List(i, 1) = .List(i - 1, 1) .List(i, 2) = .List(i - 1, 2) .List(i, 3) = .List(i - 1, 3) .List(i, 4) = .List(i - 1, 4) Next i .List(0, 0) = sText1 ''' paste new values at top .List(0, 1) = sText2 .List(0, 2) = "" .List(0, 3) = "" .List(0, 4) = "" Else .AddItem sText1 ''' if listbox is empty, just paste .List(0, 1) = sText2 End If End With End Sub

谢谢, TJ

1 个答案:

答案 0 :(得分:3)

AddItem使用可选参数指定索引位置。默认情况下,它会添加到结尾。如果指定0,它将在开头添加。尝试类似的事情:

.AddItem "Some Text", 0

可在此MSDN文章中找到更多信息。