EP02. “List Box 列表框控件”
🔒 登录后可标记已读- 列表框(List Box)让使用者从预设的一批选项里挑一个
- 讲怎么插入列表框、用 Workbook Open 事件自动帮它填好选项
- 也讲怎么把选中的结果连结到某个单元格
- 前置知识:EP01 插入 ActiveX 控件的基本流程
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
插入列表框
- Developer 标签页 → Insert
- ActiveX Controls 分类选择 List Box
- 拖拽到工作表上(默认名字是 ListBox1,可以右键 Properties 改名)
用 Workbook Open 事件自动填选项
- 打开 VBA 编辑器,双击左侧 Project Explorer 里的 ThisWorkbook
- 上方两个下拉选单分别选 Workbook 和 Open
- 输入:
With Sheet1.ListBox1
.AddItem "Paris"
.AddItem "New York"
.AddItem "London"
End With
这样每次打开这份工作簿,列表框都会自动填好这三个选项。
[截图:打开工作簿后,工作表上的列表框自动显示 Paris、New York、London 三个选项的样子]
📌 想清空列表可以用 ListBox1.Clear;如果选项来自某个单元格范围,也可以改用 ListFillRange 属性直接指定范围,不用一条条 AddItem。
连结到单元格
- Design Mode 开启状态下右键点击列表框 → Properties
- 把 LinkedCell 设成想要的单元格(例如 D3)
- 保存、关闭、重新打开文件
设置完成后,使用者在列表框里选了哪一项,D3 就会自动显示对应的结果。
学完你会
- ✅ 用
AddItem或ListFillRange帮列表框填选项 - ✅ 用 Workbook Open 事件让选项在打开文件时自动填好
- ✅ 用 LinkedCell 把选中结果连结到指定单元格
常见错误
- 把填充选项的代码写在按钮里而不是 Workbook Open 事件里,每次打开文件都要手动点一次才有选项
- 忘记 LinkedCell 要重新保存关闭再打开文件才会生效
- 选项来源是固定范围却还在用一条条 AddItem 手打,应该改用 ListFillRange 更省事
Sources
Blog / Website: