程序员的知识教程库

网站首页 > 教程分享 正文

VBA编程:如何删除对象列表值,ListBox列表示例介绍

henian88 2025-02-14 23:22:41 教程分享 30 ℃ 0 评论

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表