皆さんは、VBAでデータの範囲を取得する方法を知っていますか?一覧データすべてに対して罫線を追加したり、選択してコピーするケースはよくあります。まとめUsedRangeプロパティの使い方まず、UsedRangeプロパティについて解説します。UsedRangeプロパティは、データがある全てのセル範囲を取得するためのプロパティです。次のように最後のデータがあるセルまでの範囲を取得することができます。UsedRangeプロパティの使い方は、以下のとおりです。ワークシート.UsedRangeシート名を指定して、最後のデータまでのセル範囲を取得できるわけですね。「データ一覧」シートのデータ範囲を取得する場合は、次のように書きます。Subこのように、簡単にデータ範囲を取得することができます。セル位置を確認する方法とはただ、単純に変数にUsedRangeのセル範囲を入れただけだと、セル範囲が取得できているかよくわからないですよね。そのため、セルのアドレスを表示する方法を合わせて覚えておくと便利です!Addressプロパティを使えば、簡単にアドレスを取得することができます。Sub実行結果:このように、簡単にセルのアドレスを確認することができます。2018年9月18日UsedRangeプロパティを使ったサンプルコード次に、サンプルコードをもとに、具体的な使い方について解説します。使うのが、Sheet1のデータをSheet2にコピーするようなケースです。UsedRangeプロパティを使わなかった場合は、次のような処理になってしまいます。最終行のセルを範囲指定してコピーこれでも良いのですが、最終行を取得する処理を書かなくても、UserdRangeプロパティを使えば以下のように1行でコピー処理を書くことができます。Sub実行後のSheet2のデータ:このように、簡単にコピー処理も作ることができます。2019年3月29日CurrentRegionとUsedRangeの違いとはここまでUsedRangeプロパティの使い方について解説してきましたが、1点注意点があります。UsedRangeプロパティは罫線やセルの背景色のように、値がなくても書式が設定されているセルもデータとして認識してしまうため、罫線のみのセルがあった場合は意図した結果にならないときがあります。次のようなデータです。サンプルデータ:このデータをUsedRangeプロパティで範囲を取得した場合、次のように罫線を含めた範囲を取得してしまいます。CurrentRegionプロパティは、指定したセルから値があるセルまでの範囲を取得することができます。Sub実行結果:このように、値があるデータ範囲のみ取得することができます。CurentRegionプロパティにも注意点があります。CurentRegionプロパティは値があるデータまでの範囲を取得するため、間に空白行がある場合は空白行までのデータしか取得できません。⇒UsedRangeプロパティ値以外に罫線やセルの色などがある⇒CurrentRegionプロパティのように、用途に応じて使い分けるのがおすすめです!まとめ今回は、UsedRangeプロパティをつかってデータ範囲を取得する方法について解説しました。データ一覧を使って処理を作っていくケースはよくあります。使い方も簡単なので、ぜひ使ってみてくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。Wakizaka新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。インフラ、製造、テスト、運用保守など、様々な経験あり。侍ブログ編集部として、これまでに200記事以上の記事を執筆。現在はフリーランスエンジニア兼テックライターとして活動中。