• ベストアンサー

【Excel】アクティブセルから決まった範囲を選択する

エクセルで、アクティブブセルから決まった範囲、 たとえば、セルA10がアクティブになっていれば A10~M10までを、セルB30がアクティブになっていたら B30~N30までを、常に1RX13C分を選択することを 覚えさせるような機能はありませんでしょうか? もしマクロでないと無理なら、マクロを教えていただけますでしょうか。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 #2 さんのご指摘のように、範囲の選択自体よりも、コマンドの決定の方法が大事かもしれませんね。イベント処理も、邪魔になっては意味がありません。 以下は、ショートカット(Alt + A)に設定する方法です。 標準モジュールに設定し、保存して、そのブックを一旦閉じて、再び、開ければ、設定されています。もし、閉じないで使う場合は、Auto_Open のところにカーソルを置き、F5を押します。 '----------------------------------------- '<標準モジュール> Private Sub Hanni13()  ActiveCell.Resize(, 13).Select End Sub Sub Auto_Open() 'キー設定 Alt + A  Application.OnKey "%A", "Hanni13"  Application.OnKey "%a", "Hanni13" End Sub Sub Auto_Close() 'キー設定 解除  Application.OnKey "%A"  Application.OnKey "%a" End Sub

okiretti
質問者

お礼

お礼遅くなり、すみません。 Wendy02さんのマクロをそのまま書いて、実行できました。 大変便利に使ってます!ありがとうございます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

いつもどこかのセルが、アクチブであるので、いつも質問のようになっても、うっとうしい(不便)と思うので、必要なつど、ボタンを押すという仕組みのようなものが必要かと思った。 それでコマンドボタンをワークシートに1つ貼り付け、クリックして出てくるVBEの画面に 下記を貼り付ける。 Private Sub CommandButton1_Click() r = ActiveCell.Row c = ActiveCell.Column Range(Cells(r, c), Cells(r, c + 12)).Select End Sub デザインモードを脱する(ツールバーの鉛筆と定規のアイコンをクリック)。 これであるセル(A10やB30など)をポイントして、質問の機能を働かせたいなら、ボタンをクリックすると、13列分選択します。

okiretti
質問者

お礼

お礼遅くなり、すみません。 VBE初心者なのです、記述の仕方まで教えていただき 助かります。短い記述で、ちゃんと選択できるんですね。 今回は表のデータが多く、縦スクロールが面倒なので、ボタンを使うのも少し難しいようです。今後の参考にさせていただきます。ありがとうございました!

  • masa_019
  • ベストアンサー率61% (121/197)
回答No.2

そのような機能が必要なシートのモジュールの SelectionChangeに、Target.Resize(1, 13).Select とすれば可能ですが、かなり使いづらいと思います。 なので、かわりにBeforeRightClickに Cancel = True Target.Resize(1, 13).Select として、普通に選択するときは、左クリックで、 1行×13列選択するときは右クリックと使い分けます。 右クリックメニューなどが使えなくなりますが、 左クリックで常に1行×13列選択よりは、ましかと思います。

okiretti
質問者

お礼

アドバイス、ありがとうございます。やはりマクロでの機能になるのですね。マクロは超初心者なので勉強してみます。 右クリックメニューが使えなくなる、というのは、右クリックしたときの「切り取り」「貼り付け」「セルの書式設定」などの機能が使えなくなるということでしょうか??

noname#79209
noname#79209
回答No.1

差し支えなければ、なぜこのような機能が必要となるのか、教えていただけないでしょうか? 内容によっては、そのような機能を使わなくて済んでしまうこともありますから。

okiretti
質問者

補足

表の途中に行を挿入したいのですが、通常の行の挿入だと アクティブセルの上の書式がそのまま反映されてしまいます。が、書式(文字色や罫線の太さ、文字の太さなど)がまちまちなので、挿入した行の書式を挿入後に整える際に 決まった範囲のセル選択をすぐに選択できるようにしたいのです。列が複数あるので、使いづらい、というだけなのですが。

関連するQ&A

専門家に質問してみよう