首頁 > 科技

VBA程式設計:如何刪除物件列表值,ListBox列表示例介紹

2021-07-21 03:06:10

No.1

Excel 中用到一些列表框,有時需要對列表內容進行新增和刪除操作,本節介紹一下,如何刪除一行列表。

以ListBox列表框為例,進行刪除值刪除,用到上圖一個方法RemoveItem

此方法可刪除指定索引號的一個列表值,最小索引值為0,最大不能超過列表框最大索引號

如下圖所示:

分別做了兩個列表框,左邊灰色為單元格索引值列表,右邊為陣列值新增列表。

如果不明白其意思,可看前面的文章有介紹。

為什麼要做兩種不同的賦值呢?因為RemoveItem方法有一個特點,它並不會把所有列表中的值刪除,而是有條件進行刪除。

繼續往下看就明白了。

上圖為RemoveItem方法的語法和參數說明。

語法簡單,Object.RemoveItem(Index)

其中Object是一個物件,如ListBox、ComboBox等等。

index為索引號,索引號有一些條件限制,圖中有說明。

重點:

資料繫結不能為RowRource繫結的資料,不然會報錯。

如下圖所示,做了個報錯提示框。

而右邊就可以正常刪除,也做了個提示框。

No.2

程式碼如下:

Private Sub CommandButton1_Click()

Dim l As String

If Me.ListBox2.ListCount <= 0 Then MsgBox "沒有可刪除列表!": Exit Sub

l = Me.ListBox2.List(0)

Me.ListBox2.RemoveItem (0)

MsgBox "成功刪除列表!" & l

End Sub


Private Sub CommandButton2_Click()

On Error GoTo E100

Me.ListBox1.RemoveItem (0)

Exit Sub

E100:

MsgBox "發生的了錯誤,不能刪除引用列表!" & _

VBA.vbCrLf & "錯誤號: " & Err.Number, vbInformation, "提示"

End Sub

Private Sub CommandButton3_Click()

addlist Me.ListBox2

End Sub

2個列表框資料引用方法:

RowRource 引用:ListBox1.RowRource="Sheet2!A2:A16"

陣列引用:ListBox2.List=Array("1月","2月","3月","4月","5月","6月")

知識是點點滴滴積累的,所以今天掌握一點就比昨天多知道了點,歡迎關注、收藏,每一天都有新內容。

END


IT145.com E-mail:sddin#qq.com