[[20071010163604]] 『セルクリックで起動するマクロ』(よいしょ) ページの最後に飛ぶ

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

 

『セルクリックで起動するマクロ』(よいしょ)
 セルのどこでも良いからクリックすると起動するイベントってありますか?


 ありません。
 右クリックやダブルクリックならあります。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html

 SelectionChangeイベントが近いですが、
 同じセルを連続してクリックしても、2回目
 からは働きません。

 右クリックやダブルクリックなら、同じセルでも
 連続して起動させることが出来ます。
 (MARBIN)

 セルのどこでもっちゅうんは困るんとちゃいまっか?
 例えばこれはマクロの実行と書かれたセルをクリックしたばやい起動します。
       (弥太郎)
 シートモジュールへ
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target <> "マクロの実行" Then Exit Sub
    macro
    Target.Offset(1).Select
 End Sub
 '標準モジュールへ
 Sub macro()
    MsgBox "マクロを実行しまっせぇ"
 End Sub


 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 MARBINさん有り難う御座います。これで出来ました。
 この右クリックを無効とさせる事も出来るのでしょうか?
 Application.EnableEvents = False
 これがどうしても理解できませんが。すみませんね。』(よいしょ) 


 弥太郎さん確かに。
 ある限定機能で使用しようと思ってるのですが、確かに何処でもってのは
 後々問題が出て来そうですね。(よいしょ)

 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
                                                                ↑
                                確認

 ↑ どなたはんでっか?HNがおまへんでぇ。
 ある限定機能でとありますが、それは特定のセルを意味するんでっか?
 application.intersect で特定の範囲を指定し、それ以外は右クリック本来の作業を
 をするようになさればよろしいかと思います。
 例えば  
 If Application.Intersect(Target, Range("a1:a10")) Is Nothing Then Exit Sub
    Cancel = True
  作業
 等とすればその範囲以外では右クリックでマクロは走りまへん。
 他にチェンジイベントを使っているばやいはEnabledで制御が必要ですが、なければ
 必要ないと思われます。
        (弥太郎)

コメント返信:

[ 一覧(最新更新順) ]


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