Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4729|回复: 9

[已解决]感谢Zipall 老师的帮助!解决了对复选框全选、反选的问题

[复制链接]
发表于 2012-6-27 08:53 | 显示全部楼层 |阅读模式
本帖最后由 zzh49 于 2012-6-27 11:44 编辑

各位老师好!请帮助解决附件中过程的代码。
简要的说,是通过窗体上的选项按钮对列表框中的复选框进行全选和反选,选定的复选框对应一行数据送到Sheet2.
具体说明在附件中。附件: 附件.rar (12.8 KB, 下载次数: 82)
发表于 2012-6-27 09:32 | 显示全部楼层
回复

使用道具 举报

发表于 2012-6-27 11:05 | 显示全部楼层    本楼为最佳答案   
Private Sub CommandButton1_Click()
    r = Sheets("sheet2").Range("a65536").End(xlUp).Row + 1
    With ListView1
        For i = 1 To .ListItems.Count
            If .ListItems(i).Checked Then
                Sheets("sheet2").Cells(r, 1).Resize(1, 5) = Sheets("sheet1").Cells(i + 1, 1).Resize(1, 5).Value
                .ListItems(i).Checked = False
                r = r + 1
            End If
        Next
    End With
    UserForm1.Hide
    Sheets("sheet2").Select
End Sub

Private Sub OptionButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    With ListView1
        For i = 1 To .ListItems.Count
            .ListItems(i).Checked = True
        Next
    End With
End Sub

Private Sub OptionButton2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    With ListView1
        For i = 1 To .ListItems.Count
            .ListItems(i).Checked = Not .ListItems(i).Checked
        Next
    End With
End Sub

评分

参与人数 1 +2 收起 理由
zzh49 + 2 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-6-27 11:39 | 显示全部楼层
Zipall 发表于 2012-6-27 11:05
Private Sub CommandButton1_Click()
    r = Sheets("sheet2").Range("a65536").End(xlUp).Row + 1
     ...

非常感谢Zipall 老师!
很好使的代码。
再次谢谢!
回复

使用道具 举报

发表于 2012-6-27 12:16 | 显示全部楼层
高手就是快,分享一下我的

附件.rar

14.33 KB, 下载次数: 69

回复

使用道具 举报

发表于 2012-6-27 13:07 | 显示全部楼层
过江龙 发表于 2012-6-27 12:16
高手就是快,分享一下我的

几个建议

1 If y = 0 Then Exit Sub 这句可以不要,因为如果y=0那么 for x= 1 to 0 就不会进入循环体.
2 .Item(x).Checked本身就是逻辑值,所以If .Item(x).Checked = True Then和If .Item(x).Checked Then结果是一样的.
3 用mousedown而不用click的原因,你多点几下那个反选按钮就能看到区别了.
回复

使用道具 举报

 楼主| 发表于 2012-6-27 13:38 | 显示全部楼层
二位老师真负责任,谢谢!
回复

使用道具 举报

发表于 2012-6-28 12:29 | 显示全部楼层
谢谢老师的指导,在学习成长。
回复

使用道具 举报

发表于 2012-8-10 16:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2015-8-25 08:33 | 显示全部楼层
正在学习,做个记号。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-18 02:04 , Processed in 0.136508 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表