excel - VBA - 组合框向下滚动条损坏
问题描述
我正在为我的工作场所开发一个客户端管理实用程序,具有各种笔记输入/查看器系统+下拉菜单,以方便和高效。
现在我遇到一个问题,在用户窗体上,单击组合框后,用户无法单击滚动条向下拖动。他们可以单击箭头向下滚动,但不能单击栏本身以加快滚动速度。
奇怪的是,我发送的文件“7.8”是我文件的直接副本,但插入了我的同事客户信息。在我 5 分钟前制作的版本上,点击向下滚动条效果很好。我截取了组合框属性的屏幕截图,但找不到任何更改的内容。
这也发生在我今天对它进行了零更改的用户表单上,同样不是在他的工作上,而是在我的工作上。打开多个工作簿时是否会出现常见问题?我所有的用户表单代码都针对此工作簿并通过代号识别工作表。所有其他功能都在工作,包括比滚动条是否可拖动更复杂的事情......
有点不解。有人有想法么?
所以我在下面放了一个代码示例:我成功地在几个点上使用相同的代码,并稍作调整,以识别是否选择了给定的帐户所有者,如果是,则加载匹配的客户端,如果选择了客户端,则加载笔记的时间戳。
奇怪的是,所识别的代码与可重现的代码完全相反。我有工作簿 7.8,复制粘贴它,更改了客户端数据(这绝不会影响底层代码),然后发送给我的同事,他当时对用户窗体的体验是滚动条可以让按钮向下单击但不能拖动栏本身。我唯一能想到的是,如果有多个工作簿导致了一个问题,但是在所有> 1000行代码中,我什至没有一行代码对滚动条有任何作用。不知何故,在给他发电子邮件的 5 分钟内,滚动条失去了部分功能?
Sub noteOwnerClients()
Dim wsFound As Worksheet
Dim mainBook As Workbook
Set mainBook = ThisWorkbook
Dim rangeFinder As Range
Dim rangeInt As Integer
Dim rangePull As String
Dim selectedString As String
For Each ws In ThisWorkbook.Worksheets
If StrComp(ws.CodeName, "sheetDatabase", vbTextCompare) = 0 Then
Set wsFound = ws
End If
Next ws
noteClientCombo.Clear
selectedString = noteOwnerCombo.Text
If selectedString <> "" Then
rangeInt = 2
For Each rangeFinder In wsFound.Range("E2:E200")
If selectedString = rangeFinder.Value Then
rangePull = "A" & rangeInt
noteClientCombo.AddItem wsFound.Range(rangePull)
End If
rangeInt = rangeInt + 1
Next
End If
End Sub
解决方案
推荐阅读
- ios - “GIDSignIn”类型的值没有成员“hasAuthInKeychain”
- python - 基于另一列的计算创建一列
- mysql - 使用 JOIN 的 SQL 查询计数
- node.js - Express Server 连续抛出 404 错误
- git - GIT:如何将 Readme.md 文件从 master 复制到 Branch?
- generics - 包含闭包参数的方法需要错误的类型?
- python - 如何在 XML Python 中再迭代一个节点?
- python - 显示外键值
- ansible - azure_rm_dnszones 找不到资源组
- reactjs - React 模拟 Graphql 订阅