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

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

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

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

示例代码如下。

Sub CheckboxeEvent()
    Dim oCB As CheckBox, bFlag As Boolean, CBCnt As Long
    Dim OffCol As Collection, oSht As Worksheet
    Const MAX_CHECKED As Long = 4    
    Set oSht = Worksheets("Sheet1")
    CBCnt = oSht.CheckBoxes.Count
    Set OffCol = New Collection
    For Each oCB In ActiveSheet.CheckBoxes
        If oCB.Value = xlOff Then OffCol.Add oCB
    Next oCB
    bFlag = ((CBCnt - OffCol.Count) = MAX_CHECKED)
    For Each oCB In OffCol
        oCB.Interior.Color = IIf(bFlag, RGB(188, 188, 188), vbWhite)
        oCB.Enabled = Not bFlag
    Next 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()过程,最终效果如下图所示。

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

弱光图像增强算法(6大算法附程序),一站式解决论文实验比较部分

过往几年大量从事弱光图像增强的炒菜工作。 为了方便科研比较,也就是主观视觉比较和定量比较,提供一个集成程序给各位参考 非常简单,只需要点击Main.PY和修改输出的路径即可 本次收集的6类算法(EnlightenGAN, RUAS, SCI, ZeroDCE, ZeroDCE…

python封装接口自动化测试套件 !

在Python中,我们可以使用requests库来实现接口自动化测试,并使用unittest或pytest等测试框架来组织和运行测试套件。以下是一个基本的接口自动化测试套件封装示例: 首先,我们需要安装所需的库: pip install requests …

运动耳机怎么选?2024年运动耳机推荐,运动蓝牙耳机排行榜10强

​在现代生活中,音乐和运动已经成为很多人生活不可分割的一部分。运动耳机在这样的背景下变得越来越受欢迎,它们不仅可以在运动时提供音乐的陪伴,还能增加运动时的乐趣和动力。但是,面对市面上众多不同类型的运动耳机,…

Linux进程通信之管道

目录 1、无名管道 1.无名管道的特点 2.pipe函数创建管道 3.图例 2、命名管道(FIFO) 1.命名管道的特点 2.mkfifo 函数-创建命名管道 3.示例 1.循环读取数据 2.循环写入数据 1、无名管道 管道通常指的就是无名管道, 1.无名管道的特点…

校招行测,认知能力测验,④破解数量关系测试题

数量关系,值得是数量计算、对比和分析,每种题型都有一定的规律性,如果善于终结也是容易掌握的,当然,只有见多,才能识广,最好的方式就是,锻炼,刷题,就算是临时…

3D Web可视化开发工具包HOOPS Communicator:提供Web端浏览大型模型新方案!

前言:HOOPS Communicator是Tech Soft 3D旗下的主流产品之一,具有强大的、专用的高性能图形内核,专注于基于Web的高级3D工程应用程序。其由HOOPS Server和HOOPS Web Viewer两大部分组成,提供了HOOPS Convertrer、Data Authoring的模…

类和对象的定义以及使用

文章目录 1. 类和对象的基本概念1.1 JAVA是面向对象语言1.2 类和对象的描述 2. 类与对象的定义与使用2.1 类的定义格式2.2 类的实例化(对象的创建)2.3 举个例子 3. 对象的构造及初始化3.1构造方法3.1.1构造方法的定义3.1.2 构造方法的特性 4.2 默认初始化5.4 就地初始化 4.this…

九州金榜如何让孩子在家庭教育中更优秀

​ 每个人在出生时就有上天恩赐的两份礼物,一份是血脉相连的亲情,一份是家庭的关爱与教育。 最早接触的人就是父母,最早接触的教育就是家庭教育,这对孩子的影响极为深远。 这种家庭教育相比较学校教育,不仅有言传教…

认知能力测验,⑤破解图形推理测试题,校招社招网申在线测评必用

认知能力测试,如今是每个求职者必须要面对的,有的人可以顺顺利利通过,而有的人只能够遗憾止步。想要通过认知能力测验,并不是一件易事,而今天要说的图形推理,仅仅是其中的一个部分,抛砖引玉&…

2024.01.09.Apple_UI_BUG

我是软件行业的,虽然不是手机设计的,但是这个设计真的导致经常看信息不完整,要下拉的。 特别读取文本或者其他文件的时候,上面有个抬头就是看不到,烦,体验感很差

Requests库的接口测试实现

Requests库是在接口测试中被广泛运用的库,包括模拟请求的下发,请求相关配置和响应结果的获取,核心主体都是通过request库完成。在接口测试中使用非常频繁。 一、Requests库环境搭建 接口测试的核心从模拟请求开始。在Python中,通…

机器学习:数据处理与特征工程

机器学习中的数据处理和特征工程是非常关键的步骤,它们直接影响模型的性能和泛化能力。以下是一些常见的数据处理和特征工程技术: 数据处理: 缺失值处理: 处理数据中的缺失值,可以选择删除缺失值、填充均值/中位数/众…

HarmonyOS应用开发学习笔记 ArkTS 布局概述

一、布局概述 布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置。在实际的开发过程中,需要遵守以下流程保证整体的布局效果 确定页面的布局结构。分析页面中的元素构成。选用适合的布局容器组件或属性控制页面中各个元素的位置和大小约束。 二…

HarmonyOS应用开发学习笔记 UIAbility组件间交互 UIAbility启动,页面跳转结果回调

1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器:定义组件重用样式 Extend装饰器:定义扩展组件样式 5、HarmonyOS 应用开发…

(生物信息学)R语言绘图初-中-高级——3-10分文章必备——饼图(初级)

生物信息学文章的发表要求除了思路和热点以外,图片绘制是否精美也是十分重要的,本专栏为(生物信息学)R语言绘图初-中-高级——3-10分文章必备,主要通过大量文献,总结3-10分文章中高频出现的各种图片,并给大家提供图片复现的R语言代码,及图片识读。 本专栏将向大家介绍…

你好,2024!再见,2023!

大家好,我是南城余! 今天是2023年最后一天,看到各位大佬都在分享今年的总结,我也来做个年度总结,是第一次做年度总结,希望以后可以每年都做一个好好的回顾。 说来可笑,标题,2023怎么…

Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性

Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性 将skip属性注释掉或者改为false 如果为true,则工程找不到主启动类

Pytest插件pytest-cov:优雅管理测试覆盖率

在软件开发中,测试覆盖率是评估测试质量的关键指标之一。为了更方便地统计和管理测试覆盖率,Pytest插件"pytest-cov"应运而生。本文将介绍"pytest-cov"的基本用法和优雅管理测试覆盖率的方法。 什么是pytest-cov? pytest-cov 是Pyt…

zabbix-proxy代理安装及其他监控方式

zabbix-proxy代理安装及其他监控方式 安装zabbix-proxyserver端配置zabbix-proxy配置被监控的agent安装中问题解决监控网络设备JMX和IPMI监控方式 zabbix-proxy的安装,至少需要准备三台机器,一台安装服务端,一台安装agent端,这里就…

65寸OLED透明拼接屏,从这4个方面解读,让您秒懂

随着显示技术的不断进步,OLED透明拼接屏作为新一代的大屏显示解决方案,正逐渐受到市场的青睐。作为尼伽技术总监,我深知其对于高端显示市场的价值。下面,我将从技术的角度深入剖析这一产品。 一、规格与种类 65寸OLED透明拼接屏有…