• ベストアンサー

エクセルで、ボタンを使わずセルを選択することで任意のマクロを実行させる事は可能ですか?

お世話になります。 件名と同じくエクセルで、ボタンを使わずセルを選択する事により任意のマクロを実行させる事は可能かをお伺いしたく存じます。 【詳細】 現在、特定のセルを基点に画像を決められたサイズで挿入する作業を行っております。 画像を挿入する基点とするセルは複数あり、その度に図形の挿入のコマンドを選択しております。 ただ、非常に短銃作業ではあるのですが、量があまりにも多い為、 セルを選択した段階で挿入する画像ファイルを呼び出す画面を表示するように出来ないだろうかと思い質問致しました。 以上、お時間のある時で構いませんのでご教授下されば幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8470/18134)
回答No.1

セルを選択したときにマクロを起動するならシートモジュールにそのマクロを書いておきます。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then 'この例だと$A$1を選択したときだけ MsgBox "Macro was done" 'この文を画像ファイルを呼び出すマクロに置き換える End If End Sub

abo55
質問者

お礼

早速の回答ありがとう御座います。 また、サンプルのマクロまで回答下さり感謝致します。 実は、シートモジュールや標準モジュール、ブックモジュールなど 各モジュール毎の、できること、できないことといった機能的な特色に関してあまり理解できておりませんでした(^^;) ですが今回の質問を機に改めて覚えてみようかと思います。 非常に助かりました。また質問した際にもご教授下されば幸いです。

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

使いにくい場面もありそうな気がしますが、とりあえず… セルの指定位置は修正してください。 (仮にA1、B2、C3にセットしてあります) Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Intersect(Target, Range("A1,B2,C3")) Is Nothing Then Exit Sub Application.Dialogs(xlDialogInsertPicture).Show End Sub

abo55
質問者

お礼

早速の回答ありがとう御座います。 また、サンプルマクロまで短時間で作成して頂き、大変感謝しております。 今後も質問するあるかと存じます。その際も懲りずにご教授頂ければ幸いです。 重ねてではありますが、ありがとう御座いました。

  • MoguraSE
  • ベストアンサー率64% (81/126)
回答No.2

こんにちは。 Worksheet_SelectionChangeイベントは、シート内の選択セルを変更するたびに発行されます。 これを活用してみてはいかがでしょう。

abo55
質問者

お礼

早速の回答ありがとう御座います。 Worksheet_SelectionChange。云われてみれば以前、条件付き書式を拡張したマクロを作成した際使っておりました。 独学で丸のみしてきたせいか、応用が利かなくなっておりますね(^^;) 質問させて頂いてよかったです。 感謝いたします。

関連するQ&A