【VBA】使用している範囲を取得する
![VBA_使用中のセルを取得_1](https://haginote.com/wp-content/uploads/2022/04/889eda83ff7effe03c5ecfa7541462e4.jpg)
Excel上のデータ整理等で
上のような画面の集計データを扱う事は少なくないかと思います。
その表のデータ全体を選択する方法は、
1.基準のセル.CurrentRegion プロパティ
2.ワークシート.UsedRange プロパティ
の2つの方法が挙 げられると思います。
それぞれについて、実際の画面を見ながら解説します。
1.Range.CurrentRegionプロパティ
![VBA_使用中のセルを取得_4](https://haginote.com/wp-content/uploads/2022/04/3a7c74884675085f83d4ef5414bdf1d7.jpg)
Range("A1").CurrentRegion.Select
これはショートカットキーで
「Ctrl + A」を押した時に得られる結果と同じです。
例えば、セル【A1】から始まるデータがあったとすると、カーソルを【A1】に合わせて「Ctrl + A」した場合、VBE上では上のコードとなります。これはデータが続く限りの部分を選択している事になります。
つまり、データの途中で空白行・列があったりすると、そこで選択は途切れる、という事になります。
2.Worksheet.UsedRange プロパティ
![VBA_使用中のセルを取得_4](https://haginote.com/wp-content/uploads/2022/04/0eb7aa9b04372c1238c40c56e385d7d5.jpg)
ActiveSheet.UsedRange.Select
対してこちらは、データの途中に空白行・列があろうとも、使用しているセルがある場合は、そこまでを該当範囲とします。ちなみに、セル内に何も記載が無くても罫線が引いてあれば、これも該当範囲としてみなされます。また、一度、セル内に記載をし、BackSpaceやDeletで内容を取消しても、或いは罫線を引いて、取消したとしても、そのセル自体を削除しなければ、該当の範囲から抜け出せませんので、ご注意ください。
![VBA_使用中のセルを取得_2](https://haginote.com/wp-content/uploads/2022/04/ce12444f36f938bb26af74b29b83948b-1024x300.jpg)
右図・・・[Worksheet.UsedRange プロパティ]
上記2つの使用例とすれば、
「複数Sheetに散らばった表データを1つのSheetにまとめる」際に役に立つかと思います。詳しくは別のページにまとめました。下記のページを宜しければご参照ください。
何かのお役に立てれば幸いです。
以上になります。