【VBA】「Shift + →」と同じ動作を再現する方法|RangeとOffsetを使う

目次

経緯

VBAを使って、キーボード操作の**「Shift + →」**(右方向へ範囲選択拡張)と同じ動作を
プログラムで再現できないかと考え、今回その方法について学びました。

解決方法:RangeとOffsetを組み合わせる

VBAでは、**Range(Selection, Selection.Offset(行, 列))**という書き方を使うことで、
**「現在選択中のセルから、右方向に範囲を拡張する」**ことができます。


コード例(A1セルからJ1セルまで選択する場合)

Cells(1, 1).Select
Range(Selection, Selection.Offset(0, 9)).Select

コード解説

  • 1行目:セル「A1」を選択します。
  • 2行目:現在選択中のセル(A1)から**右方向に9列(A~Jまで)**範囲を拡張して選択します。

※注意点として、列数を指定する際は、
 「最初のセルを含めた範囲」になるので、
 「J列まで選びたい場合」はOffsetで9列指定します(A列から数えて9列右)。


ポイントまとめ

  • **Range(Selection, Selection.Offset(行数, 列数))**を使うと範囲選択を広げられます。
  • 今回の例では、**「Shift + →を9回押したのと同じ動き」**を再現しています。
  • 列数(Offsetの第2引数)を変更すれば、必要なだけ範囲を拡張できます。

まとめ

VBAで「Shift + →」と同じ動作を再現したい場合は、

Range(Selection, Selection.Offset(0, 必要な列数)).Select

を使うことで、簡単に範囲選択を広げることができます。

これを使えば、セル操作の自動化や、範囲を指定して処理を行う際にとても便利になります。

ここまでお読みいただき、誠にありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次