こんなあなたにおすすめ
・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で覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら