新聞中心
VBA如何向列表框添加內(nèi)容
在VBA中,我們可以使用ListBox對(duì)象來創(chuàng)建一個(gè)列表框,要向列表框添加內(nèi)容,我們需要先創(chuàng)建一個(gè)ListBox對(duì)象,然后使用Add方法將內(nèi)容添加到列表框中,以下是一個(gè)簡單的示例:

10年積累的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有扎賚諾爾免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1、打開Excel,按下Alt+F11鍵,打開VBA編輯器。
2、在VBA編輯器中,點(diǎn)擊菜單欄的插入,然后選擇模塊,在模塊中輸入以下代碼:
Sub AddListItems()
' 定義變量
Dim objListBox As Object
Dim strItem As String
' 創(chuàng)建一個(gè)新的列表框
Set objListBox = ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:B3"), , xlYes).ListObject
' 向列表框添加內(nèi)容
strItem = "蘋果"
objListBox.DataBodyRange.Cells(1, 1).Value = strItem
strItem = "香蕉"
objListBox.DataBodyRange.Cells(2, 1).Value = strItem
strItem = "橙子"
objListBox.DataBodyRange.Cells(3, 1).Value = strItem
End Sub
3、按下Ctrl+S鍵保存代碼。
4、回到Excel工作表,按下Alt+F8鍵,選擇AddListItems,然后點(diǎn)擊運(yùn)行。
5、此時(shí),你會(huì)看到一個(gè)新的列表框出現(xiàn)在工作表中,包含了我們剛剛添加的內(nèi)容。
如何刪除列表框中的某個(gè)項(xiàng)目
要從列表框中刪除某個(gè)項(xiàng)目,我們可以使用Remove方法,以下是一個(gè)示例:
1、在VBA編輯器中,輸入以下代碼:
Sub RemoveListItem()
' 定義變量
Dim objListBox As Object
Dim strItem As String
' 獲取當(dāng)前活動(dòng)的工作表和列表框?qū)ο?
Set objListBox = ActiveSheet.ListObjects("ListBox1")
' 從列表框中刪除指定的項(xiàng)目
strItem = "香蕉"
If InStr(objListBox.DataBodyRange.Cells(2, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(2, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(3, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(3, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(4, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(4, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(5, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(5, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(6, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(6, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(7, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(7, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(8, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(8, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(9, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(9, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(10, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(10, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox.DataBodyRange, Order1:=xlAscending, _
Key2:=objListBox.ListColumns("列名").DataField, Order2:=xlAscending, _
Header:=xlNo
ElseIf InStr(objListBox.DataBodyRange.Cells(11, 1).Value, strItem) > 0 Then
objListBox.DataBodyRange.Cells(11, 1).EntireRow.Delete
objListBox.DataBodyRange.Sort Key1:=objListBox
網(wǎng)頁名稱:vba怎么向列表框添加內(nèi)容
本文鏈接:http://fisionsoft.com.cn/article/cdidhsi.html


咨詢
建站咨詢
