No.2ベストアンサー
- 回答日時:
EXCELのVBAエディタを開いて、左のエクスプローラを見ると、Microsoft Excel Objects と Moduleの二つのフォルダが見えると思います。
通常(マクロのレコードとか、モジュールの追加)とかで、使う場所は、Moduleのフォルダです。シート上でのイベントに対応するプロシージャは、このModule(標準モジュール)ではなく、Microsoft Excel Objects (シートに対応しています)に記述します。-----Microsoft Excel Objectsとか、Module とか、英語環境ですので、申し訳ない。-Microsoft Excel Objects から、標準モジュールを呼び出すことは、可能ですが、逆は出来ません。
-シートをコピーしたからと言って、シートの裏側に書かれたイベントプロシージャはついて行きません。
-イベントプロシージャは、自分の意に反して、正直に動きますので、慌てる時があります。他人様が触る環境では使わない方が賢明です。
VBAエディタの左側のエクスプローラで、Microsoft Excel Objects の該当シートをダブルクリックすると、右側にコードを記入するところが出てきます。上方に2つ窓が現れます。左がわ:Worksheet を選択
右側:SelectionChangeを選択すると
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
と自動的に記述されます。
ここに、標準モジュールにかかれてあるプロシージャを呼び出すようにすれば完成です(別にこの場所だけで閉じても勿論構いません)。
と、自分自身が昔、苦労したことを思い出して、書きました。参考にしていただければ幸いです。
特定のキーが押されていることを検出して、それとANDを取って、実行させるようにするとミスを防げるかと思います。
No.3
- 回答日時:
>セルのフォーカス移動をトリガー
言葉どおり、マウスポインタをセルに持っていく(クリックなしで)ことで、何かをさせることなら(Changeイベント、Selectionイベントでなければ)できません。
現在のエクセルのVBAでシートのイベントとして、MS社が提供してないからです。
APIなど使えば当然できるようなので、エクセル設計者が「そこまで一般ユーザーにさせなくても」と思ったのかも知れない。近い将来バージョンアップもないとはいえない。
エクセルのシートのイベントは、VBのフォームなどに比べ貧弱と思います。
No.1
- 回答日時:
こんにちは。
もし、質問の読み方に間違いがなければ、通常は、以下のことですが、
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
これでよろしいのですか?
すごく初歩的なことだと思いますが。
ただし、このイベント駆動のコードは、なかなか慣れないと、ミスをすることが多いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/04 10:48
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- その他(Microsoft Office) エクセルのマクロについて教えてください。 1 2022/06/09 09:25
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2023/01/20 14:36
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでオブジェクトが必...
-
コンボボックスへ降順に表示す...
-
マクロのコマンドボタン《Activ...
-
エクセルの図形(線)の情報
-
Excell VBA にて配列に定数を代...
-
エクセルマクロ 変数をワーク...
-
Access-VBAでExcelファイ...
-
VBAマクロ実行時エラーの修正に...
-
Worksheets メソッドは失敗しま...
-
エクセル マクロ オートフィ...
-
VBA シートをコピーする際に Co...
-
ACCESSVBA からExcelの他ブック...
-
LEFT関数とIF関数の組み合わせ...
-
エクセルVBAが途中で止まります
-
エクセルで複数のシートのクリ...
-
Excelで、あるセルの値に応じて...
-
エクセルで特定の文字列が入っ...
-
AのセルとB行を比較して、一致...
-
Excelのシート上のShapeにイベ...
-
特定の文字がある行以外を削除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access-VBAでExcelファイ...
-
コンボボックスへ降順に表示す...
-
エクセルVBAでオブジェクトが必...
-
マクロのコマンドボタン《Activ...
-
複数シートを一括で保護を掛け...
-
エクセルで品番を入れると、そ...
-
マクロ実行後、画面がちかちか...
-
エクセルのVBAについて教えてく...
-
エクセルマクロ 変数をワーク...
-
VBAでVlookup機能を使うときに...
-
エクセルマクロ(超初心者)
-
エクセルを共有にすると、シー...
-
Excelに関数使用を調べる方法
-
Excell VBA にて配列に定数を代...
-
エクセルVBA 別シートの最終セ...
-
Excelの各シートの一覧シートの...
-
エクセルVBAでフォームの無効化...
-
マクロのイベントトリガー
-
マクロでフォルダ内のExcelを全...
-
エクセル マクロについて、 Inp...
おすすめ情報