【VBA】範囲の取得方法まとめ|基本から便利な使い方まで

VBAでは、セルや範囲を指定して操作することが非常に多いです。この記事では、**「どうやって範囲を取得するのか」**を初心者向けにわかりやすくまとめます。


1. 単一セルの取得

まずは、1つのセルを取得する方法です。

Range("A1")'A1セルを取得
Cells(1, 1)'1行1列目(A1セル)を取得

【ポイント】

Rangeは「A1形式」で指定、Cellsは「行・列の数値」で指定します。


2. 複数セル・範囲の取得

複数のセル範囲を取得する場合です。

Range("A1:B3")'A1からB3までの範囲を取得
Range(Cells(1, 1), Cells(3, 2))'同じ範囲を取得(数値指定)

【補足】

Cellsを組み合わせると、変数や計算結果を使って柔軟に範囲指定ができます。


3. シート全体の取得

シート全体を対象にする場合です。

Cells 'シート全体のセルを取得
ActiveSheet.UsedRange '実際に使われている範囲を取得

4. 表形式データの範囲取得(CurrentRegion)

データのまとまり(表形式)の範囲を一発で取得できます。

Range("A1").CurrentRegion

【イメージ】

空白セルで囲まれた範囲を自動的に認識します。
表全体を対象にしたいときに便利です。


5. 最終行・最終列を基準にした動的範囲取得

データがどこまであるかに応じて、範囲を自動で取得します。

'A列の最終行を基準にA1からデータ範囲を取得
Range("A1", Cells(Rows.Count, 1).End(xlUp))

6. 名前付き範囲の取得

Excelの「名前の定義」で設定した範囲も簡単に取得できます。

Range("売上表") '「売上表」という名前の範囲を取得

7. まとめ

方法内容
Range("A1")単一セル取得
Cells(1, 1)数値で単一セル指定
Range("A1:B3")複数セル・範囲取得
Cellsシート全体
UsedRange実際に使われている範囲
CurrentRegion表全体(空白で囲まれた範囲)
最終行・列基準動的な範囲取得が可能
名前付き範囲定義済み範囲を取得

8. 補足

範囲の取得を理解することで、コピー・貼り付け・色付け・データ抽出など、さまざまな操作が思い通りにできるようになります。

コメント

タイトルとURLをコピーしました