【VBA】CurrentRegionとは?使い方と注意点

目次

はじめに

今回は、VBAで頻繁に登場する**「CurrentRegion」**について勉強しました。
使用環境は以下のとおりです。

  • 使用OS: Windows 10 Pro
  • バージョン: 20H2

CurrentRegionとは何か

CurrentRegionとは、Excel上で「Ctrl」+「Shift」+「*(アスタリスク)」を押したときに選択される、データが連続している範囲のことを指します。

つまり、現在選択しているセルを起点として、空白のセルに囲まれたデータ範囲全体を一括で選択する機能です。
VBAでは、たとえば次のように使用します。

vbaコピーする編集するRange("A1").CurrentRegion.Select

このコードを実行すると、A1セルを起点に、上下左右に連続するデータ領域全体が選択されます。

イメージとしては、Excelの表(テーブル)を丸ごと一発で選択するような動きです。

実際の使用例

例えば、以下のようなデータがA1から並んでいる場合、

A列B列C列
1
2
3

A1を選択してCurrentRegionを使うと、範囲「A1:C3」が自動で選択されます。

これを利用すれば、データ範囲を簡単に取得し、コピー、削除、書式設定などさまざまな処理を効率よく行うことができます。

CurrentRegionの注意点

空白セルがあるとうまく選択できない

失敗談として、実際に試してみたところ、途中に空白セルが存在すると、CurrentRegionがそこで途切れてしまうことがわかりました。

例えば、次のようにB2セルが空白だった場合、

A列B列C列
1
2(空白)
3

この状態でA1セルからCurrentRegionを使うと、A1のみ、または狭い範囲しか選択されないことがあります。

そのため、表データに空白行や空白列がある場合には、CurrentRegionだけに頼らず、別の方法で範囲指定を検討する必要があります。

まとめ

  • CurrentRegionは、現在位置から連続するデータ範囲を一括選択するVBAの機能です。
  • 操作イメージとしては、Excelの「Ctrl+Shift+*(アスタリスク)」と同じ動きです。
  • 空白セルが存在すると、期待した範囲を選択できない場合があるため、注意が必要です。

データが途切れていないきれいな表であれば、非常に便利に使える機能です。
場面に応じて適切に使い分け、VBAでの作業効率を高めていきたいと考えています。

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

この記事を書いた人

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

目次