2

我正在运行 32 位 Excel 2010。我创建了多个 ActiveX 控件组合框,它们的下拉列表中都有多个条目。问题是,我想使用鼠标滚动来滚动列表,而不是使用鼠标单击滚动列表,但它实际上不起作用。当我在列表内部滚动时,它会向下滚动整个列表而不是其中的内容。那么有谁知道如何添加这个功能呢?

4

1 回答 1

2

我使用这种方法来阻止列表从组合框分离并使用鼠标滚动向下移动工作表。它实际上禁用了鼠标滚动,但您仍然可以移动鼠标来选择一个项目,并在它出现时操作右侧的滚动条。

  1. 选择放置 ActiveX 组合框和工作表的行
  2. 在公式栏中键入一个命名范围,然后按 Enter。例如:“rngJobRoleCombo”
  3. 在开发模式下右键单击控件,然后选择“查看代码”
  4. 选择控件的 GotFocus 事件

    Private Sub cboJobRole_GotFocus()
        Me.ScrollArea = Range("rngJobRoleCombos").Address  
    End Sub
    
  5. 选择控件 LostFocus 事件

    Private Sub cboJobRole_LostFocus()
        Me.ScrollArea = ""
    End Sub
    

当控件处于焦点时,这会将鼠标滚动限制到工作表的单元格范围地址。

于 2014-02-02T09:33:53.890 回答