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 に答える