Withステートメントの使用方法

同一のオブジェクトに対して複数のプロパティを変更したり、メソッドを実行したりする場合、Withステートメントが便利です。

Withで指定した同一オブジェクトのプロパティやメソッドを記述する場合はオブジェクトを省略してドット”.”から記述します。

構文
With [オブジェクト]
    .[プロパティやメソッド]
End With

Withステートメントを使用すると同一オブジェクトに対する処理を見やすくすることができます。

  • With ステートメント未使用
    Range("B3").Value = "テスト"
    Range("B3").Interior.Color = vbYellow
    Range("B3").Borders.LineStyle = xlContinuous
  • With ステートメント使用後
    With Range("B3")
        .Value = "テスト"
        .Interior.Color = vbYellow
        .Borders.LineStyle = xlContinuous
    End With

次のサンプルマクロは現在表示されているシートのA3セルに値を表示し、セルの書式を変更するものです。

Sub sample5_11()
    '現在表示されているシートのA3セルに対してプロパティの変更を行います。
    With ActiveSheet.Range("A3")
        .Value = "これはテストです。"
        .Interior.Color = vbYellow      'セル内の色を黄色にします。

        'さらにA3セル内のフォントに対してプロパティの変更を行います。
        With .Font
            .Size = 12          'セル内のフォントサイズを12にします。
            .Bold = True        'セル内のフォントを太字にします。
            .Color = vbBlack    'セル内のフォント色を黒にします。
        End With
    End With
End Sub

 セル書式(フォント) セル書式(背景色・パターン)

sample5_11の実行結果
sample5_11の実行結果
タイトルとURLをコピーしました