如何用VB删除LIST表中的重复项

我想用VB编一个软件,软件有2个列表框LIST这里面都有大量的数据,得上千上万的,设置一个按钮,我想要实现点击这个按钮,LIST1与list2对比,将list1中含有li... 我想用VB编一个软件,软件有2个列表框LIST 这里面都有大量的数据,得上千上万的,设置一个按钮,我想要实现点击这个按钮,LIST1与list2对比,将list1中含有list2的项全部删除,如何实现,谢谢大家最好有详细说明和程序的,我2级水平,别给我整的太难了。 展开
 我来答
鱼木混猪哟
高粉答主

推荐于2016-01-11 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33693

向TA提问 私信TA
展开全部
代码及注释如下:
Private sub main()
For i = 0 to List2.ListCount - 1'i是为了遍历list2中的所有条目
For j = List1.ListCount - 1 To 0 Step -1'j是为了遍历list1中的所有条目
doevents‘防止程序运行时假死
If List1.List(j) = List2.List(i) Then List1.RemoveItem j'两个list中的条目一次作比较,如果相同,那么就从list1中移除这个条目
Next
Next

end sub
匿名用户
2013-07-21
展开全部
Dim i as long, j as long
For i = 0 to List2.ListCount - 1
For j = List1.ListCount - 1 To 0 Step -1
doevents
If List1.List(j) = List2.List(i) Then List1.RemoveItem j
Next
Next
一楼的老兄内外层循环搞反了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-21
展开全部
Private Sub Command1_Click()
Dim count%, temp%, i%, j%
For i = List1.ListCount - 1 To 0 Step -1
For j = List2.ListCount - 1 To 0 Step -1
If List1.List(i) = List2.List(j) Then
List1.RemoveItem i
End If
Next
Next
End Sub

Private Sub Form_Load()
Dim i%
For i = 1 To 10 'list1内生成10个数 例子
List1.AddItem i
Next
For i = 5 To 20 'list2内生成15个数 例子
List2.AddItem i
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-21
展开全部
Private Sub Command1_Click()
Dim i, j As Long
For i = 0 To List1.ListCount - 1
DoEvents
For j = 0 To List2.ListCount - 1
If List1.List(i) = List2.List(j) Then List1.RemoveItem (i)
Next j, i
End Sub

数据越多速度越慢, DoEvents是为了防止在运行的时候程序假死。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式