MICROSOFT

EP03. “Combo Box 组合框控件”

首页 Microsoft 工具 Excel · VBA · ActiveX Controls · EP03
约 4 分钟· #EP03#Excel#ActiveX Controls
🔒 登录后可标记已读
  • 组合框(Combo Box)是下拉列表,跟 EP02 列表框不同的是使用者除了从选项里挑,也可以自己手动输入内容
  • 讲怎么插入、填选项、连结单元格,操作流程跟 EP02 列表框几乎一样
  • 前置知识:EP02 列表框的操作流程

重点内容


适用版本

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


插入组合框

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

用 Workbook Open 事件填选项

  1. 双击 ThisWorkbook,选 Workbook 和 Open
  2. 输入:
With Sheet1.ComboBox1
    .AddItem "Paris"
    .AddItem "New York"
    .AddItem "London"
End With

清空选项可以用:

ComboBox1.Clear
ComboBox1.Value = ""

连结到单元格

  1. Design Mode 开启状态下右键组合框 → Properties
  2. LinkedCell 设成想要的单元格(例如 D2)
  3. 保存、关闭、重新打开文件

📌 注意实际工作表名称对应到的是 Sheet1、Sheet2 这类代码名,要看清楚自己的工作表实际对应哪一个。也可以用 ListFillRange 属性直接从某个单元格范围抓选项。

[截图:点击组合框右侧的下拉箭头,展开显示 Paris、New York、London 三个选项的下拉列表]


List Box / Combo Box 怎么选

控件能否手动输入适合场景
List Box不能,只能从清单里选选项固定、想强制使用者只能选清单内容
Combo Box可以,也能手动打字选项常见但偶尔要允许例外输入

学完你会

  • ✅ 分辨列表框和组合框的差异——组合框允许手动输入
  • ✅ 用 AddItem/Clear 管理组合框的选项内容
  • ✅ 用 LinkedCell 把组合框结果连结到单元格

常见错误

  • 跟列表框搞混,忘记组合框允许使用者自己手动输入不在清单里的内容
  • Sheet1/Sheet2 这类代码名对应错工作表,导致 .AddItem 加错了地方
  • LinkedCell 设置完没有保存关闭重开文件,改动没生效

Sources

Blog / Website:

  1. Combo Box