【エクセルVBA】範囲選択の指定方法いろいろ

投稿者: | 2021年1月30日
excelアイコン

エクセルバージョン

マイクロソフト365

 

本日はセルの選択範囲のいろいろな方法があるのでご紹介したいと思います(*^^)v

それではいってみましょう!

 

Select

Selectで範囲選択がいろいろできます。

この機会にパワフルな選択範囲の指定方法をおぼえちゃいましょうヾ ^_^♪

単一セル選択

A1セルを選択する場合

3パターンご紹介します。

rangeA1セル

Range(”セル”)

 

Cells(行番号、”列名英語”)

 

Cells(行番号、列番号)

 

行の選択

2行目を選択する場合

2行目を選択

 

2行目から5行目を範囲選択する場合

行を範囲指定

 

1行目、3行目、6行目を選択する場合

複数行を選択

 

 

列を選択

B列を選択する場合

列選択

 

B~D列を範囲選択する場合

複数列範囲選択

 

A列、C列、E列を選択する場合

複数列を選択

 

 

範囲選択

A1~C3を範囲選択する場合

3パターンご紹介します。

range.cells範囲指定

 

Range( “左上のセル : 右下のセル”).Select

 

Range(Cells(左上のセル),Cells(右下のセル)).Select

cellsの列を英語指定

 

Range(Cells(左上のセル),Cells(右下のセル)).Select

cellsの列を数字指定

 

 

複数の範囲選択

A1~B2C3~D4を複数範囲を選択する場合

複数範囲選択

 

 

データ範囲可変式

行の場合

A列のデータが下に増える場合に可変自動選択する場合

データ範囲可変

 

列の場合

1行目のデータが右に増える場合に可変自動選択する場合

 

CurrentRegionプロパティ

RengeオブジェクトのメンバーのCurrentRegionプロパティの範囲選択。

RangeオブジェクトCurrentRegionプロパティ

規則正しい表や規則正しい範囲選択をする場合は有効に機能します。

ショートカットキー : Ctrl + Shift + *でマクロの記録をすると下記のように記録されます。

Selection.CurrentRegion.Select

ですのでCurrentRegionを実行する場合はショートカットキーで選択範囲を確かめてから使用した方がいい気がします。

【サンプル】

CurrentRegion例1

下記のような文字が詰まっていて、表から文字がはみ出てない表などには有効に使用できます。

currentRegion1

 

CurrentRegion例2

下記のように文字が表から1文字でもはみ出ると選択範囲が意図しない範囲になります。

currentRegion2

 

CurrentRegion例3

罫線が引いてあり表だからきちんと選択されるだろうと思うかもしれませんが下記の場合は全く機能しません。

CurrentRegion3

 

CurrentRegionを使用する場合は、必ずショートカットキー : Ctrl + Shift + *で範囲を確認してから使用するようにしましょう(*゚▽゚)ノ

 

UsedRangeプロパティ

WorksheetオブジェクトのメンバーのUsedRangeプロパティで範囲選択。

WorkSheetオブジェクトUsedRangeプロパティ

ワークシートの使用されている範囲を選択します。

UsedRange例1

シート上や左に空白があっても、使用されているデータ範囲だけ選択します。

usedRangeサンプル

 

UsedRange例2

CurrentRegionは罫線の空白は選択されませんでしたが、UsedRangeは罫線があれば空白でも選択されます。

usedRange

※もし意図しない動きになり、余計な空白範囲も選択された場合は空白行、空白列を一旦削除しないと上手く機能しないので注意が必要です。

 

まとめ

CurrentRegionやUsedRangeは形式をきちんと把握しないと意図しない動きになる場合があるのでご使用時は細心の注意をしてご使用ください(⊙ꇴ⊙)

それ以外の最初の方に解説した取得は、ほぼほぼ意図した範囲を取得できるので、少々手間ですが自由自在に操れる基本となるRangeなどを使用したほうがあとあと面倒なことはおきずらいし、おきたとしても簡単に修正ができるかと思います。

以上です。