Excel VBAでセルや範囲を選択する6つの便利な方法を徹底解説
この記事では、ExcelのVBAを使ってセルまたはセル範囲を選択する方法を詳しく解説します。単一セルの選択から始まり、複数セル範囲の選択、名前付き範囲の選択、他のセルを基準にした相対的なセルの選択まで、実務ですぐに使えるテクニックを学べます。
Excel VBAでセルを選択する6つの便利な方法
VBAでセルやセル範囲を選択する、最も実用的な6つの方法を順番に見ていきましょう。
1. アクティブなワークシートのセルを選択する
まずは、現在アクティブになっているワークシート上のセルをVBAで選択する基本の方法です。
ここでは、Workbook1というブックを例にします。ブック内にはSheet1、Sheet2、Sheet3の3つのワークシートがあり、アクティブなワークシートはSheet1です。
アクティブなワークシート上の任意のセル(この例ではC5)を選択するには、次のコードを使用します。
⧭ VBAコード:
ActiveSheet.Range("C5").Select
または
ActiveSheet.Cells(5,3).Select

⧭ 実行結果:
コードを実行すると、Workbook1のアクティブなワークシートSheet1のセルC5が選択されます。

2. アクティブなワークブックの別シートのセルを選択する
次に、アクティブなブック内ではあるものの、アクティブではないワークシートのセルを選択する方法です。アクティブなワークシートはSheet1ですが、今回はSheet2のセルC5を選択してみましょう。
以下のコードが使用できます。
⧭ VBAコード:
Application.Goto Sheets("Sheet2").Range("C5")
または
Application.Goto Sheets("Sheet2").Cells(5,3)
または
Sheets("Sheet2").ActivateRange("C5").Select

⧭ 実行結果:
コードを実行すると、アクティブなブックWorkbook1のワークシートSheet2のセルC5が選択されます。

3. アクティブでない別のワークブックのセルを選択する
今度は、アクティブなブック以外のワークブックに含まれるセルを選択する方法です。
アクティブなブックはWorkbook1ですが、同じフォルダ内にWorkbook2という別のブックがあるとします。
Workbook2のSheet1にあるセルC5を選択してみましょう。
⧭ VBAコード:
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet1").Range("C5")
または
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet1").Cells(5,3)
または
Workbooks("Workbook2.xlsx").ActivateSheets("Sheet1").Select

⧭ 実行結果:
コードを実行すると、Workbook2のSheet1のセルC5が選択されます。

4. 複数のセル範囲を選択する
ここまでは単一セルの選択のみを見てきました。次は、セル範囲(この例ではB4:C13)を選択する方法です。
対象がアクティブなワークシート上にある場合は、次のコードを使用します。
⧭ VBAコード:
Range("B4:C13").Select

⧭ 実行結果:
アクティブなワークシートSheet1(Workbook1)のセル範囲B4:C13が選択されます。

対象がアクティブなブック内の別のワークシート(この例ではSheet2)にある場合は、次のようにします。
⧭ VBAコード:
Application.Goto Sheets("Sheet2").Range("B4:C13")

⧭ 実行結果:
アクティブなブックWorkbook1のSheet2のセル範囲B4:C13が選択されます。

さらに、アクティブでない別のブック(この例ではWorkbook2)からセル範囲を選択したい場合は、次のコードを使用します。
⧭ VBAコード:
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet2").Range("B4:C13")

⧭ 実行結果:
Workbook2のSheet1の範囲B4:C13が選択されます。

5. 名前付き範囲のセルを選択する
VBAでは、Excelの名前付き範囲に含まれる1つ以上のセルを選択することもできます。
ここでは、アクティブなシートSheet1(Workbook1)に、範囲B4:C13からなるABCという名前付き範囲が定義されているとします。
名前付き範囲ABCを選択するには、次のコードを使用します。
⧭ VBAコード:
Range("ABC").Select

⧭ 実行結果:
Workbook1のSheet1にある名前付き範囲(B4:C13)が選択されます。

6. Offsetプロパティで基準セルからの相対位置にあるセルを選択する
最後に、あるセルを基準として相対的な位置にあるセルをVBAで選択する方法を紹介します。これには、VBAのOffsetプロパティを使用します。
例えば、アクティブなワークシートSheet1(Workbook1)のセルC5から、2行下・3列右にあるセルを選択してみましょう。
次のコードを使用します。
⧭ VBAコード:
Range("C5").Offset(2, 3).Select
または
Cells(5,3).Offset(2, 3).Select
⧭ 実行結果:
セルC5から2行下・3列右にあるセルF7が選択されます。

まとめ
これらの方法を使えば、Excel VBAであらゆる状況に応じてセルやセル範囲を柔軟に選択できるようになります。単一セル、別シート、別ブック、名前付き範囲、相対位置など、目的に合わせて使い分けてください。ご不明な点があれば、お気軽にお問い合わせください。
関連記事
- VBAで列を選択する方法(3つのアプローチ)
-
Excelでセルの色を基準にフィルターする2つの簡単な方法
Excelでは、目的に応じてさまざまな色でセルを塗りつぶすことがよくあります。ワークシート内で色を使ってデータの種類を区別しており、特定の色が付いたセルだけを抽出・選択したい場合、この記事が役立ちます。ここでは、Excelでセルの色を基準にフィルター処理を行う方法をわかりやすく解説します。 理解を深めながら実際に練習できるよう、サンプルのExcelブックをダウンロードしてご利用ください。 Excelでセルの色別にフィルターする2つの便利な方法 以下の2つの方法では、「フィルター」コマンドと「検索」コマンドを使用して、セルの色を基準にデータを絞り込む手順を学べます。記事内では、異なる色を付け
-
Excelで区切り記号(デリミタ)を指定してCSVファイルを開く6つの簡単な方法
Microsoft Excelは非常に強力なソフトウェアです。Excelのツールや機能を活用すれば、データセットに対してさまざまな処理を行えます。数多くの標準関数を使って数式を作成することも可能です。教育機関や企業では、貴重なデータの保存にExcelファイルが広く利用されています。ときには、CSVファイルからExcelワークシートへデータを取り込みたい場面もあるでしょう。しかし、CSVファイルをExcelで直接開くと、区切り記号(デリミタ)が正しく認識されないことがあります。その結果、すべてのセルの値が1つの列にまとめられてしまうのです。この記事では、Excelで区切り記号を指定してCSVファ