[[20210202164643]] 『Worksheetのイベントプロシージャーについて』(初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Worksheetのイベントプロシージャーについて』(初心者)

イベントプロシージャーの勉強を始めたところなのですが、
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
現在、上記のようにダブルクリックで起動するようにしていますが、
例えば、「コントロールキー + 左クリック」
のような条件設定は可能でしょうか?
よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 無理なんじゃないかと思います。

 Ctrl+左クリックは、選択セルの追加 です。

 例えばこんなイベントプロシジャ書いて、
 Ctrl+左クリックしても、BeforeDoubleClickイベントが発生しません

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      Debug.Print "Double Click"
    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Debug.Print Target.Address
    End Sub
(´・ω・`) 2021/02/02(火) 18:11

なるほど…。

ありがとうございます。
(初心者) 2021/02/02(火) 18:14


APIのGetAsyncKeyStateでワークシートのイベント時に判定させればやれないことはなさそうだけど
(モゲラ) 2021/02/02(火) 18:38

 >APIのGetAsyncKeyState
 Ctrlキーではなく、Altキーだったらできるようです。
 Shiftキーは無理でしょう
(´・ω・`) 2021/02/02(火) 19:42

https://thom.hateblo.jp/entry/2019/03/10/125326
ここらが参考になるかもしれません。

(γ) 2021/02/02(火) 19:52


ctrlは0以外送ってきたからいけるっしょ

Private Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If GetAsyncKeyState(17) <> 0 Then
        debug.print "Hellow World!"
    End If
End Sub

Shiftなら16
(モゲラ) 2021/02/02(火) 19:59


皆様ありがとうございました。

何とか解決することができました。
(初心者) 2021/02/03(水) 02:12


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.