深圳office培训 深圳excel培训
深圳excel培训 深圳office培训
咨询服务
深圳office培训
深圳office培训
office培训
excel培训
ppt培训
vba培训
access培训
word培训
visio培训
project培训
outlook培训
数据库培训
深圳access培训
深圳sql培训
深圳office培训
 

去除列表框数据源的重复值和空格


2016年8月10日 作者: 来源:

列表框的数据源引用工作表的数据时,如果工作表数据有重复值和空格,列表框也会出现重复值和空格。
为了在窗体显示时去除列表框的重复值和空格,可以使用Add方法,如下面的代码所示。
#001  Private Sub UserForm_Initialize()
#002      On Error Resume Next
#003      Dim Col As New Collection
#004      Dim rng As Range, arr
#005      Dim i As Integer
#006      For Each rng In Range("A1:A" & [a65536].End(xlUp).Row)
#007          If Trim(rng) <> "" Then
#008              Col.Add rng, key:=CStr(rng)
#009          End If
#010      Next
#011      ReDim arr(1 To Col.Count)
#012      For i = 1 To Col.Count
#013          arr(i) = Col(i)
#014      Next
#015      Me.ListBox1.List = arr
#016  End Sub
代码解析:
窗体的初始化事件,去除列表框引用工作表数据中的重复值和空格。
第2行代码,错误处理语句,忽略错误。
第3行到第5行代码,声明变量类型。
第6行到第9行代码代码,在列表框引用的工作表数据中循环,把工作表数据源中的空格去除后使用Add方法添加到变量Col中。Add方法添加一个成员到Collection 对象,语法如下:
object.Add item, key, before, after
参数object是必需的,一个有效的对象。
参数Item是必需的,任意类型的表达式,指定要添加到集合中的成员。
参数Key是可选的,唯一字符串表达式,指定可以使用的键字符串,代替位置索引来访问集合中的成员。
如果指定的key和集合中现有成员的key发生重复,则会导致错误发生。所以在第2行代码中使用错误处理语句,忽略错误,继续执行下一句代码,这样就将数据源中的重复值去除。
参数before是可选的,指定集合中的相对位置。在集合中将添加的成员放置在before参数识别的成员之前。如果参数是数值表达式,则before必须是介于 1 和集合Count属性值之间的值。如果参数是字符串表达式,则当添加一个被引用的成员到集合时,before 必须对应于指定的key值。可以指定before位置或after位置,但不能同时指定这两个位置。
参数after是可选的,指定集合中的相对位置。在集合中将添加的成员放置在After参数识别的成员之后。如果参数是数值表达式,则after必须是介于 1 和集合Count属性值之间的值;如果参数是字符串表达式,则当添加一个被引用的成员到集合时,after 必须对应于指定的key值。可以指定before位置或after位置,但不能同时指定这两个位置。
第10行到第14行代码,重新定义数组arr大小,把Col中数据赋给数组。
第15行代码,把数组arr复制到列表框中。
运行窗体,窗体中的列表框引用去除重复值和空格后的工作表数据。


阅读:2019 上一则:组合框和列表框添加列表项的方法 下一则:使用名称中的变量遍历窗体控件

返回前页 返回顶部
温馨提示:本中心是深圳较为专业office培训机构、咨询及报名请先预约,电话:0755-82124110。
深圳地址:深圳红荔路四川大厦1109B-1110(3号龙岗线通新岭地铁站A出口10米)
热线:0755-82124110(福田、南山、宝安) 0755-22205758(罗湖、龙岗、龙华) 13510024571(东莞、惠州、珠海、广州)
北京地址:北京清华大学华业大厦三区三楼 版权所有:深圳万博计算机教育 粤ICP备11006947号-1
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训 欢迎咨询!
您好!请点击这里咨询万博教育
深圳万博吴老师
您好!请点击这里咨询万博教育
深圳万博史老师
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训