限制选中指定个数CheckBox控件(2/2)

实例需求:工作表中有8个CheckBox控件(下文中简称为控件),现在需要实现限制用户最多只能勾选4个控件。

在上一篇博客中已经实现了这个需求,其基本思路是用户选中第5个控件时,事件代码将取消勾选最后一个选中的控件。其实这个案例也可以使用防患于未然的思路来解决,即用户选中4个控件之后,就禁用其他控件,用户当然也就无法再勾选更多控件。

限制选中指定个数CheckBox控件(1/2)

示例代码如下。

Sub CheckboxeEvent()Dim oCB As CheckBox, bFlag As Boolean, CBCnt As LongDim OffCol As Collection, oSht As WorksheetConst MAX_CHECKED As Long = 4    Set oSht = Worksheets("Sheet1")CBCnt = oSht.CheckBoxes.CountSet OffCol = New CollectionFor Each oCB In ActiveSheet.CheckBoxesIf oCB.Value = xlOff Then OffCol.Add oCBNext oCBbFlag = ((CBCnt - OffCol.Count) = MAX_CHECKED)For Each oCB In OffColoCB.Interior.Color = IIf(bFlag, RGB(188, 188, 188), vbWhite)oCB.Enabled = Not bFlagNext oCB
End Sub

【代码解析】
第4行代码设置最多选中4个控件。
第5行代码获取指定工作表对象。
第6行代码获取工作表中CheckBox控件个数。
第7行代码创建Collection对象。
第8~10代码遍历工作表中的控件,将当期未被选中的控件添加到OffCol对象中。
第11行代码设置标志布尔变量bFlag,如果当前选中的控件个数与MAX_CHECKED相同,则bFlag值为True。
第12~14行代码循环遍历未被选中的控件。
如果bFlag值为True,第13行代码将控件填充色设置为灰色,第14行代码禁用该控件,以实现用户无法勾选该控件。

所有CheckBox控件都指定宏为CheckboxeEvent()过程,最终效果如下图所示。

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/333583.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DP Alt Mode(Alternative Mode)

一、Type-C的DP AlT Mode Type-C 上 配置 Alternative Mode(Alt Mode)。这种配置可以使得其他协议比如DP、HDMI、Thunderbolt™、MHL(mobile high-definition link),以及PCIe等在 Type C线缆上传输。以最流行的DP为例:…

竞赛保研 基于深度学习的人脸表情识别

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸表情识别 该项目较…

SQL / MySQL 高级知识点

1. 事务 1.1 什么是数据库事务? ​ 数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行&…

select 多查询-SQL增删改查补充和limit以及order by

​cnblogs.com/wupeiqi/articles/5713315.html 表内容操作 1、增 1 2 3 insert into 表 (列名,列名...) values (值,值,值...) insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...) insert into 表 (列名,列名...) select (列名,列名...) from 表 2、删 1 2…

前端面试题集合一

Canvas是什么?怎样写Canvas? Canvas是HTML5的一个元素,它使用JavaScript在网页上绘制图形。Canvas是一个矩形区域。它的每一个像素都可以由HTML5语言来控制。使用Canvas绘制路径、框、圆、字符和添加图像有几种方法。 如果要在我们的HTML文…

答疑解惑:核技术利用辐射安全与防护考核

前言 最近通过了《核技术利用辐射安全与防护考核》,顺利拿到了合格证。这是从事与辐射相关行业所需要的一个基本证书,考试并不难,在此写篇博客记录一下主要的知识点。 需要这个证书的行业常见的有医疗方面的,如放疗,…

RAG 最新最全资料整理

最近在做RAG方面的工作。它山之石可以攻玉,做了一些调研,包含了OpenAi,百川,iki.ai为我们提供的一些实现方案。 本文以时间顺序,整理了最近最新最全的和RAG相关的资料。都是满满的干货,包含了RAG评测工具、…

Mobile Aloha 【软硬件原理+代码解析】

1. Mobile ALOHA Hardware2. Imitation Learning3. Co-training with Static ALOHA Data4. Task Setting5. Experiments5.1 ACT5.2 对比ACT、Diffusion Policy和VINN 6. Software Code Analyze Mobile ALOHA: 利用低成本全身远程操作系统学习复杂的双手移动操作技能 [译] 硬件代…

国际版WPS Office18.6.0

​【应用名称】:WPS Office 【适用平台】:Android 【软件标签】:WPS 【应用版本】:18.5.4 → 18.6.0 【应用大小】:160MB 【软件说明】:WPS Office是使用人数最多的移动办公软件。它具有独有手机阅读…

图形化编程在信息学奥赛中的作用及其对编程思维的培养

在全球信息化浪潮中,信息学奥林匹克竞赛(简称信息学奥赛)作为一种高规格、高水平的科技赛事,正在为青少年提供一个展现计算机科学素养与创新能力的重要舞台。而图形化编程作为引导初学者步入编程殿堂的有效途径,在信息…

(低级错误)IDEA/Goland报错连接数据库失败:URL错误和权限问题。

前言 做毕设ing,使用Goland自带的数据库工具连接服务器的数据库。报错 错误: Malformed database URL, failed to parse the main URL sections. (view)服务器是华为云,使用宝塔面板。数据库版本5.6.50。 排查过程 鉴于Goland报错报的狗屁不是&#…

卸载流氓软件联软

这个流氓软件也是在更新的,下面是本人在联想邵阳笔记本下卸载流程,非常简单 注:按照本文卸载之后,我重新装了一次这个垃圾,但是发现重装完之后,系统启动之后就会进入黑屏,也就是说,…