【ExcelVBA】データ範囲を選択する方法 CurrentRegion

こんなあなたにおすすめ

・Excel VBAでデータ範囲を選択したい

Excel VBAを使っていると、Rangeプロパティで範囲を指定すると変更する必要がでたりします。

そこで、データが増えてもデータ範囲を選択するようにすれば、自動で修正できるので便利です。

今回は、データ範囲を選択するCurrentRegionについて解説します。

データの最終行を取得することでも、データ範囲の変更に対応できます。
最終行、最終列の取得方法については、下記の記事をご参照ください。
>>【ExcelVBA】最終行、最終列のセルを取得する方法 End, Rows.Count

CurrentRegionの使い方

CurrentRegionを使うことで、簡単にデータ範囲を取得することができます。

基本的な書き方は、以下の通りです。
Range(“セル”).CurrentRegion

↓実行前のExcel

データ範囲を取得

CurrentRegionでは、連続するデータを自動で認識して選択してくれます。

Sub test1()

    Dim c As Range
    Set c = Range("A1").CurrentRegion
    c.Select

End Sub

↓実行結果

データの途中で空白がある場合

データの途中で空白がある場合、空白の手前までが連続データと認識されるため、下の例では1行目しか選択されません。

Sub test2()

    Dim c As Range
    Set c = Range("A1").CurrentRegion
    c.Select

End Sub

↓実行結果

データの一部が空白の場合

データの一部が空白でも、どこかしらつながっていれば、連続データとして認識されるため、全体が選択されます。

Sub test3()

    Dim c As Range
    Set c = Range("A1").CurrentRegion
    c.Select

End Sub

↓実行結果

データの行が増えたら・・・

本記事の冒頭で述べたように、データの行が増えてもCurrentRegionを使えば大丈夫と言いました。

実際にデータ範囲が拡大されたのか確認してみましょう。

Sub test1()

    Dim c As Range
    Set c = Range("A1").CurrentRegion
    c.Select

End Sub

ちゃんとデータ範囲が拡大していることがわかります。

まとめ

ここまで、CurrentRegionの使い方について解説しました。

CurrentRegionを使えば、データが増えたときも自動で調整されるためとても便利です。

ぜひ使ってみてください。

セルの位置を取得する方法については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】最終行、最終列のセルを取得する方法 End, Rows.Count

Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし

【Excelについて学びたい方】
Excel 最強の教科書[完全版]
【Excel VBAについて学びたい方】
Excel VBA 脱初心者のための集中講座
エンジニアを目指すなら、TechAcademy!
オンラインスクール受講者数No.1!

・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!

・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!

・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!

・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!

無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です