Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » 一部のセルをダブルクリックしたときだけマクロを実行する

一部のセルをダブルクリックしたときだけマクロを実行する

対象:Excel2003, Excel2007, Excel2010

セルをダブルクリックしてマクロを実行するには、イベントプロシージャからマクロを呼べばいいということをご紹介しました。

ご紹介したイベントプロシージャでは、ワークシートのどのセルをダブルクリックしてもマクロが実行されます。

実務では、ワークシートの一部のセルをダブルクリックしたときだけマクロを実行したい、という要望もよくいただきます。

[スポンサードリンク]

その方法をご紹介しておきましょう。

▼一部のセルをダブルクリックしたときにマクロを実行するイベントプロシージャ
※G8:G20セルをダブルクリックしたときだけMacro_Sampleマクロを実行する例

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

 If Intersect(Target, Range("G8:G20")) Is Nothing Then Exit Sub

 Call Macro_Sample

 Cancel = True

End Sub

先日ご紹介したイベントプロシージャは以下のようなコードでした。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Call Macro_Sample
 Cancel = True
End Sub

今回のコードは、先日ご紹介したコードの「Call Macro_Sample」の前に
「If Intersect(Target, Range("G8:G20")) Is Nothing Then Exit Sub」
を入れて、もし、G8:G20セルでなければ、このイベントプロシージャを抜けるようにしています。

▼サンプルファイル(013874.xls 36KByte)ダウンロード

サンプルファイルには
 「どこでも実行」シート
 「G8G20セルでのみ実行」シート
を作成して、それぞれどのセルのダブルクリックでもマクロが実行される、G8:G20セルでのみ実行されるイベントプロシージャを作成してあります。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » 一部のセルをダブルクリックしたときだけマクロを実行する

「イベントプロシージャ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.