码迷,mamicode.com
首页 > 编程语言 > 详细

通过VBA实现checkbox的全选和反选

时间:2015-07-23 17:11:23      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:

checkbox的全选和反选可以通过VBA来控制,这种设计常见于一些交互式报表,代码如下:

1.分成两个IF判断

Private Sub CheckBox1_Click()  ‘checkbox为总控,通过点击它来实现全选或反选
Dim b3 As Integer
Dim i As Integer
Dim b1 As Range
If Sheets(1).CheckBox1.Value Then  ’第一个IF判断为全选的条件时
    b3 = Sheets(1).Range("h50").End(xlUp).Row   ‘用来解决数据不连续的问题
    For i = 2 To b3 
    Sheets(1).OLEObjects("CheckBox" & i).Object.Value = True
    Next i
    End If
If Sheets(1).CheckBox1.Value = False Then ’第一个IF判断为反选的条件时
    b3 = Sheets(1).Range("h50").End(xlUp).Row
    For i = 2 To b3
    Sheets(1).OLEObjects("CheckBox" & i).Object.Value = False
    Next i
End If
End Sub

2.让checkbox1和其余所有的复选框状态一致,其余代码同上,只改变for循环的部分,如下:

 For i = 3 To 30 Sheets(1).OLEObjects("CheckBox" & i).Object.Value = Sheets(1).CheckBox1.Value   ‘这样只要checkbox1为选中,循环体内的所有复选框都为选中,反之亦然

next i

3. 通过设置布尔值来进行判断

Dim f As Boolean    ‘设置一个布尔值变量
f = Sheets(1).CheckBox1.Value    ’将这个变量赋值给所有的checkbox,达到使它们时刻保  持相同状态的效果
    For i = 3 To 30
    Sheets(1).OLEObjects("CheckBox" & i).Object.Value = f
    Next i

通过VBA实现checkbox的全选和反选

标签:

原文地址:http://www.cnblogs.com/xmdata-analysis/p/4670905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!