excel中vba中listview中复选框与单击条目被选中的配合使用

1、当我选中三个条目(用ctrl或shift多选)时(如选择1,2,3条后),我希望再点第2条时(这时系统会去掉1和3的选择状态),1和3的复选框同时被去掉。2、当我选中... 1、当我选中三个条目(用ctrl或shift多选)时(如选择1,2,3条后),我希望再点第2条时(这时系统会去掉1和3的选择状态),1和3的复选框同时被去掉。2、当我选中三个条目(用ctrl或shift多选)时(如选择1,2,3条后),我希望按ctrl键再点第2条时(这时系统会去掉第2条的选择状态),2的复选框同时被去掉。

我目前的状态是可以在单击未被选取的item条目时,不管单选还是多选(按ctrl或shitf)条目,相应的复选框都能相应的选中或取消。但单击已被选取的item条目时,相应的复选框就无法随之变化了。因为这时即使原来选中状态的item呈未选中状态,但vba依旧认为这些item是选中状态,而使复选框依然为true。目前代码是:Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)If Item.Selected = True Then For j = 1 To ListView1.ListItems.Count '这个for循环主要是为了能够实现多选时,复选框也相应选中。 If ListView1.ListItems(j).Selected = True Then ListView1.ListItems(j).Checked = True Else ListView1.ListItems(j).Checked = False End If NextEnd IfEnd Sub

如果大家没明白我的意思,可以看看win8资源管理器中文件夹的复选框。
展开
 我来答
善良的猪头3
2013-09-20 · TA获得超过2932个赞
知道大有可为答主
回答量:2522
采纳率:71%
帮助的人:2800万
展开全部
你的条件不对,IF ITEM.SELECTED=TRUE改为SELECTEDITEM.CHECKED=TRUE
更多追问追答
追问
运时时错误“424”, 要求对像
追答
指明对象是LISTVIEW1啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式