You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA调用Private Sub时ListBox场景出现类型不匹配错误

解决ActiveX ListBox调用Sub时的Type Mismatch错误

问题原因

VBA里存在两类ListBox对象:

  • 表单控件的ListBox(属于Excel对象模型)
  • ActiveX控件的MSForms.ListBox(属于Forms对象模型)

你的update过程参数声明为lst As ListBox,但工作表中添加的是ActiveX ListBox,实际类型是MSForms.ListBox,类型不匹配导致传参时触发Type Mismatch错误。

解决方案

修改update过程的参数类型,明确指定为ActiveX ListBox的类型:

Private Sub update(lst As MSForms.ListBox)
    lst.ListIndex = -1
    lst.ListFillRange = lst.ListFillRange
End Sub

额外检查点

  • 确认调用时的Me.ListBox是你ActiveX控件的正确名称,比如控件实际命名为ListBox1,则调用时要写update Me.ListBox1,避免因控件名称错误引发问题。

内容的提问来源于stack exchange,提问作者Jojo197

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 05:02:03