VB如何删除list中的选项

先生成了一个list:ABCDABACADBCBDCDABCABDACDBCDABCD现在我要删除list中所有同时含有BC的选项,应如何实现上午有高手给我写了一段程序:... 先生成了一个list:A B C D AB AC AD BC BD CD ABC ABD ACD BCD ABCD
现在我要删除list中所有同时含有BC的选项,应如何实现
上午有高手给我写了一段程序:
Private Sub Command1_Click()
For i = 0 To List1.ListCount - 1
If InStr(List1.List(i), "BC") > 0 Then List1.RemoveItem i
Next
End Sub
不过有两个问题:
1.删掉item i后,i以后的item都往前移了一位,导致删除时,会跳一个数再检查。
2.我这个程序实际是需要在VBA里编写,转成VBA后总是有问题,我已经把list1都改成了listbox1了
再次请高手赐教
展开
 我来答
52xenos
2009-07-07 · TA获得超过3032个赞
知道小有建树答主
回答量:1154
采纳率:0%
帮助的人:0
展开全部
代码别人写了,我就不写了,这样肯定有问题;
具体步骤:

1,找到所有"不含"BC的项,添加到数组(或者另外一个listbox)
2,清空原listbox
3,把数组项目依次添加到listbox即可.
farfamed
2009-07-07 · TA获得超过1039个赞
知道小有建树答主
回答量:520
采纳率:0%
帮助的人:1003万
展开全部
哦,我的疏忽
For i = 0 To List1.ListCount - 1
If InStr(List1.List(i), "BC") > 0 Then List1.RemoveItem i
Next
第一行改成如下即可
For i = List1.ListCount - 1 To 0 Step -1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微软专家张海
2009-07-07 · TA获得超过748个赞
知道小有建树答主
回答量:564
采纳率:100%
帮助的人:0
展开全部
For i = List1.ListCount - 1 to 0 step -1
If InStr(List1.List(i), "BC") > 0 Then List1.RemoveItem i
Next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真的没啥事
2009-07-07 · TA获得超过1079个赞
知道小有建树答主
回答量:2033
采纳率:0%
帮助的人:963万
展开全部
我给你写的你咋不看?
晕死。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式