VBA でのセルの選択
- VBA で単一のセルを選択する
- VBA でセルの範囲を選択する
- VBA で連続していないセルの範囲を選択する
- VBA のワークシートですべてのセルを選択
- VBA で行を選択する
- VBA で列を選択する
- VBA の列の最後の空でないセルを選択する
- VBA の行の最後の空でないセルを選択する
- VBA で現在のリージョンを選択する
- VBA の別のセルに関連するセルを選択する
- VBA で名前付き範囲を選択する
- VBA の別のワークシートでセルを選択する
-
VBA で
Selectionオブジェクトを操作する
この次の記事では、VBA でのセルの選択と、VBA でセルの範囲を選択する方法について説明します。
VBA を使用すると、ワークシート内のセル、セルの範囲、またはすべてのセルを選択できます。Selection オブジェクトを使用して、選択したセルまたはコンテンツを操作できます。
VBA で単一のセルを選択する
Select メソッドを使用して、ワークシートのセルを選択できます。次のコードは、ActiveWorksheet のセル B2 を選択します。
# VBA
Range("B2").Select
または、以下に示す別の方法を使用することもできます。
# vba
Cells(2, 2).Select
両方のコードの出力を以下に示します。

VBA でセルの範囲を選択する
Select 手法と Range オブジェクトを使用して、ワークシート内のセルのグループを選択できます。次のコードは、以下に示すように A1:B5 を選択します。
# VBA
Range("A1:B5").Select
出力:

VBA で連続していないセルの範囲を選択する
VBA では、セルまたは範囲をコンマで分割することにより、隣接していないセルまたは範囲を選択できます。次のコードでは、以下に示すように、セル B1、D1、および F1 を選択できます。
# VBA
Range("B1, D1, F1").Select
出力:

VBA を使用して、連続していない範囲のセットを選択することもできます。次のコードは、以下に示すように、A1:A5 と B5:B8 を選択します。
# VBA
Range("A1:A5, B5:B8").Select
出力:

VBA のワークシートですべてのセルを選択
VBA を使用して、ワークシート内のすべてのセルを選択できます。以下のコードは、ワークシート内のすべてのセルを選択します。
# VBA
Cells.Select
出力:

VBA で行を選択する
Row オブジェクトと選択する行のインデックス番号を使用して、ワークシート内の特定の行を選択できます。以下のコードは、ワークシートの最初の行を選択します。
# VBA
Rows(2).Select
出力:

VBA で列を選択する
Column オブジェクトと選択する列のインデックス番号を使用して、ワークシート内の特定の列を選択できます。次のコードは、以下のワークシートの列 B を選択します。
# VBA
Columns(2).Select
出力:

VBA の列の最後の空でないセルを選択する
セル B1、B2、B3、および B4 にデータがあり、列のセル B4 である可能性がある最後の非空白セルを選択します。VBA を使用してこれを実行し、Range.End メソッドを使用できます。
Range.End メソッドは、xlToLeft、xlToRight、xlUp、xlDown の 4つのオプションを使用できます。
以下のコードは、以下に示すように、B1 がアクティブセルである場合、最後の非空白セル、この場合は B4 を選択します。
# VBA
Range("B1").End(xlDown).Select
出力:

VBA の行の最後の空でないセルを選択する
セル A2、B2、C2、D2、および E2 にデータがあり、行のセル E2 である可能性がある最後の非空白セルを選択するとします。この場合、VBA と Range.End メソッドを使用することができます。
以下のコードは、以下に示すように、A2 がアクティブセルである場合、最後の非空白セル、この場合は E2 を選択します。
# VBA
Range("A2").End(xlToRight).Select
出力:

VBA で現在のリージョンを選択する
Range オブジェクトの CurrentRegion プロパティを使用して、特定の入力セルの周囲の空白セルと非空白セルの長方形の範囲を選択できます。セル A2、B2、および C2 にデータがある場合、次のコードはセル A2 の周りのこの領域を選択します。
# VBA
Range("A2").CurrentRegion.Select
出力:

VBA の別のセルに関連するセルを選択する
Offset プロパティを使用して、別のセルに関連するセルを選択できます。次のコードは、セル C3、セル A1 に近い 2つの行、および 2つの列を選択する方法を示しています。
# VBA
Range("A1").Offset(2, 2).Select
出力:

VBA で名前付き範囲を選択する
名前付き範囲も選択できます。セルに B1:B4 コードという名前を付けたとしましょう。
以下に示すように、次のコードを使用して、この名前付き範囲を選択できます。
# VBA
Range("Code").Select
出力:

VBA の別のワークシートでセルを選択する
まず、Worksheets.Activate メソッドを使用してシートをアクティブ化し、別のワークシートのセルを選択する必要があります。次のコードでは、Sheet2 のセル A4 を選択できます。
# VBA
Worksheets("Sheet2").Activate
Range("A4").Select
出力:

VBA で Selection オブジェクトを操作する
セルまたはセルの範囲を選択したら、Selection オブジェクトを参照してこれらのセルを操作できます。次のコードは、セル B1:D1 を選択し、これらのセルのフォントを Calibri に、フォントの太さを太字に、フォントスタイルを斜体に、塗りつぶしの色を青に設定します。
# VBA
Sub newFunc()
Range("B1:D4").Select
Selection.Font.Name = "Calibri"
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Interior.Color = vbBlue
End Sub
出力:

VBA で With コンストラクトを使用する
With または End With ステートメントを使用して上記の例を関連付け、Selection オブジェクトを 1 回だけ参照できます。これにより入力が継続され、通常はコードが読みやすくなります。
# VBA
Sub newFunc()
Range("B1:D4").Select
With Selection
.Font.Name = "Calibri"
.Font.Bold = True
.Font.Italic = False
.Interior.Color = vbBlue
End With
End Sub
出力:
