【EXCEL VBA】オブジェクトの表記を省略する Withステートメント

スポンサーリンク

はじめに

ひらちんです。

今回は、オブジェクトの表記を省略してコードを早く見やすく書く”Withステートメント”を紹介します!

VBAでは、「オブジェクト.プロパティ」とか「オブジェクト.メソッド」というようにオブジェクトを指定してからその後の命令を書きますよね。

何回も同じオブジェクトを指定しないといけない場合があるときは”Withステートメント”を使うことで、オブジェクトの表記を省略出来ます。

スポンサーリンク

Withステートメント

構文

With オブジェクト

 色々処理(このときオブジェクトが省略出来るよ)

End With

”With オブジェクト”と”End With”の間、”色々処理”の部分では、オブジェクトを省略して、「.メソッド」「.プロパティ」といった形でWithで指定したオブジェクトを省略して書くことが出来ます。

例えば次のコードをみてください。

Sub sample()

    With Range("B2")
        .Value = "ここの処理"       '値を入れる
        .Borders.ColorIndex = 1    '罫線を引く
        .Interior.ColorIndex = 3   '背景色を変更する
    End With

End Sub

このコードは、Withステートメントで、Range(“B2”)を指定しています。

なので、End Withが出てくるまでの間は、「.プロパティ」「.メソッド」は”「Range(”B2”)」に対して行っていることになります。

では、動きを見てみましょう。

Withステートメント内の命令が、Range(”B2”)に対して行われていたことが分かりますね(^o^)

何でもかんでもWithステートメントでまとめればいいとは思いませんが、うまく使うことで読みやすいコードを記述することが出来るようになると思います!

コメント

タイトルとURLをコピーしました