
A列全体を選択させて(Ctrlとスペースキーにて)、a列のみを対象として検索をかける、という動作をよくします。その際、検索パネルをだすショートカットキーはCtrl+Fなのですが、間違えてCtrl+Vしてしまう間違いをよくしてしまいます。その間違った操作をしてしまうと、a列の全てのセルがクリップボードにある情報に書き換えられてしまうのです。これを防ぐVBAを作成しようと思っています。
“列全体を選択した時にペーストしたら、その動作は無効”というようなVBAをイメージしています。
列全体の選択時のイベントがあれば、すぐにできるな、と思いまして。シートがアクティブになったときのイベントはありますが、特定の列がアクティブになった時のイベントでも同じ目的が実現できるので、そんな情報でも結構です。検索パネルを開いたときのイベントでも同様です。
なお当サイトのエクセル系ジャンル内で“列全体 選択 イベント 検索 マクロ”といったキーワードを組み合わせて検索しても該当するQAがなかったのでお聞きします。
環境はWindowsXP Pro,使用しているEXCELはExcel 2000 です。
No.2ベストアンサー
- 回答日時:
補足しておきます。
>“列全体を選択した時にペーストしたら、その動作は無効”というようなVBAを
> イメージしています。
If Target.Rows.Count = Rows.Count Then
Application.OnKey "^v", ""
Else
Application.OnKey "^v"
End If
特定シートならシートモジュール、全てのシートなら ThisWorkbook の Selection Change
イベントにこんな感じのコードを書けばよいかな?
まあ、マクロを無効で開かれると全然効果なしですけどね(;^^
No.3
- 回答日時:
CTRL+ZでCTRL+Vの効果の取り消しができるので、そこまで考えなくても良いのでは。
やる(組み込む)のが簡単ならば、質問のようなことを組み込むのも良いと思うが。
ーー
私も良くわからないが、イベントというけれど、エクセルのVBAで捉えられるのはマウス関係が多いし、メニューの選択パターンやツールバーのツールの選択や、行・列の挿入・削除・巾や高さ拡大・縮小、ショートカットキー利用など、捉えたいことは考えれば無数に沢山あるが、素人には、させてくれる仕組みがないのと思う。
素人にはエクセルで「XXしたとき」のXXは頭に描くことは簡単だし、もっともなことだと思うが。
何かの処理(例 行削除)の中核処理の(システムの)モジュールに入る前や処理後にユーザーに処理コントロール権を返し、捉えるようにしてくれれば良いが、そういう統一的思想を採用してないようです。
ActiveCell.EntireColumn.Selectは簡単にさせてくれるが、それを
操作したとき、しらせてもらう仕組みはない。エクセルは操作が主流
で、やっている本人にはわかるじゃないか、ということだと思う。
その前提がエラーチェックなどのときには崩れるので困っちゃう。
だから既回答のように個別に工夫して考えるほかないと思う。
No.1
- 回答日時:
いろいろな方法がありますけど...
> 列全体の選択時のイベント
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Rows.Count = Rows.Count Then
MsgBox "列全体が選択されました"
End If
End Sub
遅くなりましてすいません。
セレクションチェンジの定義を調べていたら"ワークシート上で何かが起こったら何かをするような目的に使われます。"とありました。
そういう汎用的なものがあったのですね。ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
vba 2つの条件が一致したら...
-
VBA 何かしら文字が入っていたら
-
B列の最終行までA列をオート...
-
【Excel VBA】 B列に特定の文字...
-
IIF関数の使い方
-
Excelで、あるセルの値に応じて...
-
特定の列全体を選択or検索パネ...
-
複数の列の値を結合して別の列...
-
文字列の結合を空白行まで実行
-
GridViewの行の入れ替えについて
-
【VBA】複数行あるカンマ区切り...
-
【VBA】2つのシートの値を比較...
-
VBA初心者です 検索した数字の...
-
Cellsのかっこの中はどっちが行...
-
グリッドの列の最大値を求めたい。
-
rowsとcolsの意味
-
Excel VBA 他組み合わせと比較...
-
ExcelVBAで配列2つを結合させ...
-
Excelの列に入っている値を全て...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Excelで、あるセルの値に応じて...
-
Cellsのかっこの中はどっちが行...
-
Worksheets メソッドは失敗しま...
-
vba 2つの条件が一致したら...
-
VBAのFind関数で結合セルを検索...
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
【VBA】2つのシートの値を比較...
-
Changeイベントでの複数セルの...
-
VBAで指定範囲内の空白セルを左...
-
【Excel VBA】 B列に特定の文字...
-
データグリッドビューの一番最...
-
VBAで、特定の文字より後を削除...
-
文字列の結合を空白行まで実行
-
VBAを使って検索したセルをコピ...
-
二つのリストを比べて部分一致...
-
マクロについて。S列の途中から...
-
マクロ 最終列をコピーして最終...
おすすめ情報