教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでWith文を使ったオブジェクト名の省略方法

構文

構文は以下の通りです。

With オブジェクト
    ' ここにプロパティやメソッドを書きます
End With

解説

With 文を使うと、あるオブジェクトに対して繰り返し同じ名前を書かずに、プロパティやメソッドを実行できます。例えば、あるシートのセルの色を変えたり、フォントを大きくしたり、値を入れたりする場合、毎回そのシートの名前を書くのは面倒です。With 文を使うと、一度だけシートの名前を書いて、その後は省略できます。

プログラミング例

具体的なプログラミング例を紹介します。

Sub A1セルに文字を入力する()
    With Worksheets("Sheet1").Range("A1")
        .Value = "こんにちは"
        .Font.Bold = True
        .Interior.Color = RGB(255, 255, 0)
    End With
End Sub

上記のプログラムでは、「Sheet1」のA1セルに「こんにちは」と書き込み、文字を太字にし、セルの背景色を黄色にしています。

まとめ

With 文を使うと、同じオブジェクトに対して繰り返し名前を書く必要がなくなり、プログラムがすっきりします。