行と列、その他の範囲指定方法

このページでは、セルオブジェクトのコレクション(集合)である RowsColumns によってセル範囲を指定する方法を説明します。

スポンサーリンク

Rows や Columns を使用したサンプル

Rows や Columns につづけてカッコ+数値を指定することで、その行や列にアクセスできます。また、数値をコロン(:)でつなげると、範囲を指定することができます。範囲指定するときは値をダブルクォーテーションで括る必要がありますので、注意してください。

主なプロパティとして、RowHeightColumnWidth があります。これらのプロパティを使用することで、行の高さや列の幅を取得・設定することができます。

Sub sample6_5()
    '単一行を指定
    With Rows(3)
        .Interior.Color = vbBlue
        '行の高さを2倍にします。
        .RowHeight = .RowHeight * 2
    End With

    '複数行を指定
    Rows("5:7").Interior.Color = vbBlue

    '単一列を指定
    Columns(3).Interior.Color = vbGreen

    '複数列を指定
    With Columns("E:G")
        .Interior.Color = vbGreen
        '列の幅を1/2にします。
        .ColumnWidth = .ColumnWidth / 2
    End With
End Sub

 Withステートメント セル書式(背景色・パターン)

sample6_5の実行結果
sample6_5の実行結果

あるセルを含む行・列で指定する方法

あるセルまたはレンジにおいて EntireRowEntireColumn を使用すると、そのセルやレンジを含む行・列を指定することができます。

Sub sample6_6()
    With Range("B2,D4:E5")
        .Value = "テスト"
        .EntireRow.Interior.Color = vbBlue
        .EntireColumn.Interior.Color = vbGreen
    End With
End Sub
sample6_6の実行結果
sample6_6の実行結果

 Withステートメント セル書式(背景色・パターン)

基準セルからのオフセット

あるセルまたはレンジにおいて Offset プロパティを使用すると、 そのセルやレンジを基準として指定量移動させたセルを選択することができます。 Offsetには行方向、列方向の移動量(マイナスも可能)をそれぞれ引数として指定します。

Sub sample6_7()
    With Range("B2,D4:E5")
        .Value = "基準"
        .Interior.Color = vbGreen

        With .Offset(5, 2)
            .Value = "変更後"
            .Interior.Color = vbYellow
        End With
    End With
End Sub

 Withステートメント セル書式(背景色・パターン) 
Offsetを使用した別のサンプルマクロ

sample6_7の実行結果
sample6_7の実行結果

空白行と空白列で囲まれた領域

CurrentRegion はある基準となるセルが含まれる空白行と空白列で囲まれた矩形領域を選択します。 表などの矩形領域を選択するときに使用します。

次のサンプルは、セルB3を起点にまわりを空白セルで囲まれた矩形領域を色付けします。

Sub sample6_8()
    Range("B3").CurrentRegion.Interior.Color = vbGreen
End Sub

 ワークシート内の使用済み領域(UsedRange)
セル書式(背景色・パターン)

下図がマクロ実行前の状態です。

sample6_8実行前
sample6_8実行前

マクロを実行すると、B3~D5までの範囲が緑色に設定されました。

sample6_8実行後
sample6_8実行後
タイトルとURLをコピーしました