Withステートメントってご存じですか。
VBA上でコードを記述するときに、同一オブジェクトにさまざまな設定を行いたい場合に有効です。
この記事ではWithステートメントの基本的な使い方・メリット等についてまとめています。
Withステートメントを使うことで、簡潔なコーディングができるようになります。
目次
Withステートメントとは?
構文は、つぎのとおりです。
With オブジェクト
.プロパティ = 値
.メソッド
End With
With~End Withの間にコーディングをするときに
ピリオドから書き始めることでオブシェクト名を省略することができます。
オブジェクト名を記述する箇所を1つにまとめることで、何度もオブジェクト名を書く必要がありません。
WithステートメントでVBAを書いてみる

Withステートメントを使用しないとき
withステートメントを使用しないときの例です。
オブジェクトの名前を各ステップで記述していますね。
何をしているのか、直感的にもわかりづらいです。
Sub sample()
Range("A1").Value = 888
Range("A1").Font.Color = vbRed
Range("A1").Font.Size = 11
End Sub
Withステートメントを使用するとき
Withステートメントを使用すると、下記のソースコードになります。
直感的に見た瞬間に、オブジェクト(A1)に対して、処理を記述していることがわかりますね。
Sub sample()
With Range("A1")
.Value = 888
.Font.Color = vbRed
.Font.Size = 11
End With
End Sub
まとめ

エクセルVBAでWithステートメントを使って、VBAの書き方についてお伝えしました。
Withステートメントを使うと・・・
With~End Withの範囲内が「どのオブジェクトを処理対象としているのか」
を明示することで、ソースコードがとても綺麗になるメリットがあります。
メリット
- ソースコードの記述量が少なくて済む。
- ソースコードが他人にも見やすくなる。
- ソースコードがわかりやすくなる。
とても便利なステートメントです。
是非覚えて、一度、使用してみてください!