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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロのコマンドボタン《Activ...
-
VBAでVlookup機能を使うときに...
-
マクロ実行後、画面がちかちか...
-
VBAマクロ実行時エラーの修正に...
-
VBA シートをコピーする際に Co...
-
B列の最終行までA列をオート...
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
マクロの「SaveAs」でエラーが...
-
「段」と「行」の違いがよくわ...
-
エクセルで特定の文字列が入っ...
-
エクセルで離れた列を選択して...
-
特定の文字がある行以外を削除...
-
別ブックをダイアログボックス...
-
Cellsのかっこの中はどっちが行...
-
URLのリンク切れをマクロを使っ...
-
LEFT関数とIF関数の組み合わせ...
-
エクセルVBAが途中で止まります
-
列方向、行方向の定義
-
【Excel VBA】 B列に特定の文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数シートを一括で保護を掛け...
-
エクセルVBAでオブジェクトが必...
-
Access-VBAでExcelファイ...
-
コンボボックスへ降順に表示す...
-
エクセルを共有にすると、シー...
-
エクセルのVBAについて教えてく...
-
マクロ実行後、画面がちかちか...
-
マクロのコマンドボタン《Activ...
-
VBAでVlookup機能を使うときに...
-
エクセルのマクロ(大量データ...
-
エクセルVBAでフォームの無効化...
-
エクセルで品番を入れると、そ...
-
excelのvbaでのシート指定が時...
-
別のブックを開く時にシートを...
-
Excell VBA にて配列に定数を代...
-
エクセルVBA 別シートの最終セ...
-
ExcelVBA その回のみ...
-
他ブックへの書き込みについて
-
エクセルの全てのシート名を一...
-
マクロのイベントトリガー
おすすめ情報