当前位置: 首页 > news >正文

VBA ListBox/ComboBox 响应鼠标滚轮操作

一般情况下,在Excel的vba窗口中,我们是无法使用鼠标滚轮控制例如 ListBoxComboBox 控件的。我们只能通过鼠标点击的方式来逐个选择选项。

我们都知道,通过鼠标滚轮快速的上下滚动候选项,以快速的定位选择选项,这是一个十分高效的操作。那么,如何在Excel的ListBoxComboBox中通过鼠标滚轮来快速的滚动候选项呢?

引入 MouseWheel 模块

在使用鼠标滚轮前,我们需要在VBA工程界面中引入一个叫 MouseWheel 的模块。如下👇:
Snipaste_2025-05-06_12-39-17

你可以通过 Ms VBA 鼠标滚轮钩子脚本 下载到 MouseWheel 模块。

ListBox 中使使用鼠标滚轮

引入 MouseWheel模块后,我们就可以在窗体中的ListBox控制中响应鼠标滚轮操作了。

Private Sub ListBox1_Enter()Rem 当光标进入控件时,通过将控件挂载到钩子上MouseWheel.ChooseHook_ListBox Me.ListBox1
End SubPrivate Sub ListBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)Rem 在退出控件时,解除钩子MouseWheel.uHook
End Sub

以上👆脚本中,我们在控件的Enter事件中,通过MouseWheel模块将鼠标滚轮事件挂载到了ListBox控制上。如此以来,当鼠标滚动时,则控件的选项将跟随鼠标滚动上下翻动。

以上👆脚本中,我们在控件的Exit事件中,解除了鼠标滚轮勾子。如此以来,我们在下一个需要控制的ListBox或者comboBox控件中,就可以重复使用鼠标滚轮的钩子了。

ComboBox 中使用鼠标滚轮

引入 MouseWheel模块后,我们就可以在窗体中的ComboBox控制中响应鼠标滚轮操作了。

Private Sub ComboBox1_Enter()Rem 当光标进入控件时,通过将控件挂载到钩子上MouseWheel.ChooseHook_ComBox Me.ComboBox1
End SubPrivate Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)Rem 在退出控件时,解除钩子MouseWheel.uHook
End Sub

以上👆脚本中,我们在控件的Enter事件中,通过MouseWheel模块将鼠标滚轮事件挂载到了ComboBox控制上。如此以来,当鼠标滚动时,则控件的选项将跟随鼠标滚动上下翻动。

以上👆脚本中,我们在控件的Exit事件中,解除了鼠标滚轮勾子。如此以来,我们在下一个需要控制的ListBox或者comboBox控件中,就可以重复使用鼠标滚轮的钩子了。

小结

以上例子,说明了如何在ExcelWordAccess等支持 VBAMs Office 家族产品中响应鼠标滚轮操作的方法。

以上完整的演示例程见:鼠标滚轮控制 combox/listbox 控件选项演示

如果有任何问题,欢迎评论区讨论。

相关文章:

  • FPGA实战项目1——坦克大战
  • 深入解析 Linux/Unix 通信机制:从原理到观测实践
  • 美团后端开发一面
  • C++23 新利器:深入解析栈踪迹库 (P0881R7)
  • 【Bootstrap V4系列】学习入门教程之 组件-卡片(Card)高级用法
  • Blender插件机制设计与Python实现
  • conda 环境克隆
  • 静态NAT
  • CEF格式说明
  • CSS中的@import指令
  • 8086汇编:寄存器
  • 事务(transaction)-上
  • K8s 常用命令、对象名称缩写汇总
  • [Linux_69] 数据链路层 | Mac帧格式 | 局域网转发 | MTU MSS
  • TikTok 矩阵账号运营实操细节:打造爆款矩阵
  • 理解IP四元组与网络五元组:网络流量的“身份证”
  • 物流无人机技术要点与挑战分析!
  • Maven 依赖发布与仓库治理
  • 互联网大厂Java求职面试:AI与云原生下的系统设计挑战-3
  • 【Linux】Linux中的调度和切换
  • 住宿行业迎“最火五一”:数千家酒店连续3天满房,民宿预订量创历史新高
  • 马斯克的胜利?OpenAI迫于压力放弃营利性转型计划
  • 五一假期上海境外来沪消费4.55亿元,同比增长211.6%
  • 五一小长假上海“人从众”,全要素旅游交易总额超200亿元
  • 山大齐鲁医院护士论文现“男性确诊子宫肌瘤”,院方称将核实
  • 日本儿童人数已连续44年减少,少子化问题越发严重