EP04. “Check Box 复选框控件(VBA 版)”
🔒 登录后可标记已读- 讲怎么用 ActiveX 的复选框控件,勾选/取消勾选时用代码把状态(1/0)写进指定单元格
- 跟 02_Basics/01_Ribbon/EP06 的表单控件复选框是不同的控件类型,用法类似但归在 ActiveX 这条线
- 前置知识:EP01 插入 ActiveX 控件的基本流程
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
插入复选框
- Developer 标签页 → Insert
- ActiveX Controls 分类选择 Check Box
- 拖拽到工作表上
加代码
- Design Mode 开启状态下右键点击复选框 → View Code
- 输入:
If CheckBox1.Value = True Then Range("D2").Value = 1
If CheckBox1.Value = False Then Range("D2").Value = 0
- 关闭 Design Mode,勾选/取消勾选复选框,观察 D2 跟着变成 1 或 0
[截图:工作表上的复选框控件,勾选状态下 D2 显示 1、取消勾选后 D2 变回 0 的对比]
📌 想改复选框显示的文字(Caption)或名字,Design Mode 开启状态下右键 → Properties 里调整。
学完你会
- ✅ 用
CheckBox1.Value判断复选框目前是勾选还是取消勾选 - ✅ 用 If 判断把勾选状态转成 1/0 写进单元格
- ✅ 分辨 ActiveX 复选框跟表单控件复选框是不同类型
常见错误
- 忘记先开启 Design Mode 就想编辑代码,点击控件反而直接触发了它的状态切换
- 两个 If 判断只写了一个(比如只处理 True 没处理 False),取消勾选时 D2 不会跟着变回 0
- 跟表单控件的复选框(Form Control Checkbox)搞混,两者设置方式不完全一样
Sources
Blog / Website: