プロが教えるわが家の防犯対策術!

エクセルのマクロ登録について質問です。
現在私はテキストボックスを利用してマクロを実行していますが、特定のシートの特定のセルをダブルクリックした時にマクロを実行する方法はありますか?
また、そのマクロは何処に登録すれば良いですか?
下に現在使用しているマクロを記載します。

Sub テキストボックス1_Click()
Sheets("シート2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("シート3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("シート4").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("シート1").Select
End Sub

このマクロはシート1のテキストボックスに登録しており、内容は「シート2を選択し1枚印刷、シート3を選択し1枚印刷、シート4を選択し1枚印刷、シート1を選択し終了」です。
このマクロにシート1のセルA1(またはセルA1からC2までのどこか)をダブルクリックするとマクロを実行するようにしたいです。
よろしくお願い致します。

質問者からの補足コメント

  • へこむわー

    回答ありがとうございます、すみませんがエクセル初心者で回答の意味などの理解が及びません。

    勉強不足なのは重々承知しておりますが、申し訳ありませんが初心者にも分かりやすい回答をお願い致します。

    例として、どこの機能を使い、質問のマクロのどの行に挿入すれば良いかなどでの回答をお願い致します。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/03/02 12:22

A 回答 (2件)

>>例として、どこの機能を使い・・・・


では簡単に

今使っているSub テキストボックス1_Click()の編集は出来ますか?

出来るので有れば、

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Column = 1 And .Row >= 1 And .Row <= 10 Then
Call テキストボックス1_Click()
End If
End With
End Sub


Sub テキストボックス1_Click()の前にコピペするだけです。
    • good
    • 0

Sub テキストボックス1_Click()を同じ内容の標準モジュールを先ず作ります(コピペで)。

名前をwk()と仮にした場合。

特定のシートにシートモジュールを追加し、上の標準モジュールを呼び出す

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Column = 1 And .Row >= 1 And .Row <= 10 Then
Call WK.WK
End If
End With
End Sub

行列範囲チェックは上を参考にして下さい。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!