サイトについて      連絡先   検索

VBA With 文

はじめに

Excel VBA の With 文を使用してコードを省略する方法を紹介します。

With 文を使用すると何度も同じオブジェクトのコードに書かなくてもよくなります。

With 文を入れ子にしたり、長すぎるとコードが見づらくなるので多様は禁物です。

With

With でオブジェクトを指定すると、それ以降は . でそのオブジェクトにアクセスできます。

' 通常のコード
Dim cell As Range
Set cell = Range("A1")
cell.Value = "あ"
cell.Font.Color = RGB(255, 0, 0)
cell.Interior.Color = RGB(255, 255, 0)
 
' With を使ったコード
Dim cell As Range
Set cell = Range("A1")
With cell
    .Value = "あ" ' cell.Value = "あ" と同じコード
    .Font.Color = RGB(255, 0, 0)
    .Interior.Color = RGB(255, 255, 0)
End With

With は入れ子にできます。

With Sheet1
    With .Range("A1")
        .Value = "あ" ' Sheet1.Range("A1").Value = "あ" と同じコード
        .Font.Color = RGB(255, 0, 0)
        .Interior.Color = RGB(255, 255, 0)
    End With
End With

関連ページ