excel - 如何在vba中停止滚动条自动跳转
问题描述
我有一个用户窗体,其框架 (Frame1) 包含一个高度设置为 1000 的垂直滚动条,该框架包含 160 个文本框,排列为 40 行和 4 列。第一列的 40 个文本框每个都有一个列表框。问题是当我双击列表框以选择文本框的项目时,滚动条会自动向下跳或向上跳。这对用户来说可能非常令人沮丧。在双击框架中的列表框时,我需要一些关于如何保持滚动条静止的帮助。Sub listbox1_Dbclick() textbox1.Value = Me.listbox.text End Sub
解决方案
经过一番研究,找到了修复Excel错误的方法
Private Sub MainFrame_Scroll(ByVal ActionX As MSForms.fmScrollAction, ByVal ActionY As MSForms.fmScrollAction, ByVal RequestDx As Single, ByVal RequestDy As Single, ByVal ActualDx As MSForms.ReturnSingle, ByVal ActualDy As MSForms.ReturnSingle)
' Stop
' Debug.Print ActionX
' Debug.Print ActionY
' Debug.Print RequestDx
' Debug.Print RequestDy
' Debug.Print ActualDx
' Debug.Print ActualDy
If RequestDy = 299.45 Then
' Stop
ActualDy = 0
End If
End Sub
当 VBA 进行滚动条跳转时,RequestDy 属性具有特定值(在我的情况下为 299.45,由注释的 Debug.Print 命令评估)
在这种情况下,我已使用 ActualDy = 0 命令取消跳转
推荐阅读
- c - 使用 DYLD_INSERT_LIBRARIES 的 macOS 自定义 malloc/free 加载得不够早
- c++ - 如何创建一个适用于 lambda 表达式的排序函数?
- powershell - 无法识别的参数“计算机名”。所有参数必须以“-”开头
- java - 有没有办法循环遍历 2 个数组并打印数组 1 的元素,如果它包含数组 2 中任何元素的子字符串?
- java - 无法从另一个 docker 容器连接到 docker 容器中的 mysql
- process - 创建进程或线程哪个更快?为什么?
- python - Python - 拆分列表以获取最小值和最大值
- python - 运行软件源导致 Python 错误 (LMDE 3)
- c# - 扩展 Windows 10 中音量变化的音量控制(类似于 Windows 上的 Spotify)
- node.js - 两个不同密码的 .env 环境