MICROSOFT

EP04. “Check Box 复选框控件(VBA 版)”

首页 Microsoft 工具 Excel · VBA · ActiveX Controls · EP04
约 3 分钟· #EP04#Excel#ActiveX Controls
🔒 登录后可标记已读
  • 讲怎么用 ActiveX 的复选框控件,勾选/取消勾选时用代码把状态(1/0)写进指定单元格
  • 跟 02_Basics/01_Ribbon/EP06 的表单控件复选框是不同的控件类型,用法类似但归在 ActiveX 这条线
  • 前置知识:EP01 插入 ActiveX 控件的基本流程

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


插入复选框

  1. Developer 标签页 → Insert
  2. ActiveX Controls 分类选择 Check Box
  3. 拖拽到工作表上

加代码

  1. Design Mode 开启状态下右键点击复选框 → View Code
  2. 输入:
If CheckBox1.Value = True Then Range("D2").Value = 1
If CheckBox1.Value = False Then Range("D2").Value = 0
  1. 关闭 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:

  1. Check Box