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的全选和反选的更多相关文章

  1. jQuery checkbox的全选与反选

    1:checkbox的全选与反选 js 代码 $("#cbAll").click(function(){ if($("#cbAll").is(":ch ...

  2. jquery中checkbox的全选与反选

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...

  3. checkbox的全选与反选

    最近在做一个项目,其中一个功能就是多选框的全选与反选.感觉很简单的小功能,一下子想不起来怎么实现了,很是耽误时间.我在想,我有必要整理下自己的一些小demo了,也方便以后再使用的时候能快速的完成功能. ...

  4. js及jQuery实现checkbox的全选、反选和全不选

    html代码: <label><input type="checkbox" id="all"/>全选</label> < ...

  5. checkbox之全选和反选

    先导入jquery组件 <input type="checkbox" id="checkall">全选<input type="ch ...

  6. Vue.js实现checkbox的全选和反选

    小颖之前写的代码存在一个bug,就是当你选择全选的时候去掉后面的一个选项,再点全选结果就是反的了.很感谢博客园的朋友帮我改了这个问题嘻嘻,下面一起来看看具体是怎么实现的吧. 1.html <te ...

  7. 关于checkbox的全选和反选实例

    <script type="text/javascript"> $(function () { $("#checkAll").click(funct ...

  8. Example015实现html中checkbox的全选和反选(2)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Exameple014实现html中checkbox的全选,反选和全不选(1)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. SQL Server建表和增删改

    create database 数据库名 go --穿件完成 go create table 表名(列名 类型, 列名 类型, 列名 类型 --最后一个列名不加逗号) go --创建完成go 以创建表 ...

  2. [dataTables.js error] Uncaught TypeError: myTable.row is not a function

    使用dataTables.js时遇到的问题. 代码如下: var myTable = $('#dynamic-table') .dataTable({ bAutoWidth : false, &quo ...

  3. linux下inotify的使用

    有时候我们需要检测某个目录下文件或者子目录的改动状况,如添加.删除.以及更新等,Linux系统上提供了inotify来完成这个功能.inotify是在版本2.6.13的内核中首次出现,现在的发行本应该 ...

  4. POJ 3069 Saruman's Army(萨鲁曼军)

    POJ 3069 Saruman's Army(萨鲁曼军) Time Limit: 1000MS   Memory Limit: 65536K [Description] [题目描述] Saruman ...

  5. 自定义CSS博客(转)

    摘自:http://www.cnblogs.com/libaoheng/archive/2012/03/19/2406836.html 前  言 一个好的阅读体验,对技术博客来说,也许算是锦上添花.入 ...

  6. JS学习笔记(一) 概述

    参考资料: 1. http://www.w3school.com.cn/js/ 2. http://www.liaoxuefeng.com/wiki/001434446689867b27157e896 ...

  7. 关于deferred

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. html bootstrap 表头固定在顶部,表列 可以自由滚动的效果

    该效果主要是依照 bootstrap 的一个样式,class="navbar-fixed-top"; 参考网址为:http://v3.bootcss.com/components/ ...

  9. Oracle中synonym和index

    笔记: Oracle-同义词--通过用户名(模式名).表名       --授权:grant create synonym to test1(system用户下授权))     --私有  creat ...

  10. 2013 Multi-University Training Contest 3

    HDU-4622 Reincarnation 题意:给定一个字符串,有Q次询问,每次询问得出区间[L, R]内有多少个不同的子串. 分析:后缀数组搞,不过hash+dp也能够搞定这题,详解见http: ...