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. java简单的页面制作

    package 界面; import java.awt.*; import javax.swing.JFrame; import javax.swing.*; //import javax.swing ...

  2. 我的android学习经历24

    Fragment生命周期 1.onAttach() 2.onCreate() 3.onCreateView() 4.onActivityCreated() 5.onStart() 6.onResume ...

  3. 【leetcode❤python】231. Power of Two

    #-*- coding: UTF-8 -*- class Solution(object):    def isPowerOfTwo(self, n):        if(n<=0):     ...

  4. SSMS Tools Pack

    http://www.ssmstoolspack.com/Features Format SQL 大小写切换,只切换关键字 http://www.ssmstoolspack.com/Features? ...

  5. [SAP ABAP开发技术总结]字符串处理函数、正则表达式

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. 使用escape编码地址栏中的中文字符

    在通过地址栏传递参数的时候,有时候会遇到中文参数,在获取这种中文参数值得时候, 往往会出现乱码, 解决办法如下: 在传递参数的使用 escape 函数进行编码,获取的时候再进行解码即可. 例如: va ...

  7. NFS安装过程

    操作环境:linuxmint做客户端--centos7(虚拟机)做服务器 1.先安装需要的包: centos7中:yum install rpcbind && yum install ...

  8. Codeforces Beta Round #91 (Div. 1 Only) E. Lucky Array 分块

    E. Lucky Array time limit per test 4 seconds memory limit per test 256 megabytes input standard inpu ...

  9. Perl5中19个最重要的文件系统工具

    在写脚本处理文件系统时,经常需要加载很多模块.其中好多有用函数分散在各种不同的模块中.它们有些是Perl的内置函数,有些是在同Perl一起发行的标准模块中,另外一些是通过CPAN安装的. 下面来看15 ...

  10. C#堆栈和托管堆

    首先堆栈和堆(托管堆)都在进程的虚拟内存中.(在32位处理器上每个进程的虚拟内存为4GB) 堆栈stack 堆栈中存储值类型. 堆栈实际上是向下填充,即由高内存地址指向低内存地址填充. 堆栈的工作方式 ...