【VBA】Withステートメントでコードを見やすくする【使い方】

本記事では『Withステートメント』について解説していきます。

 

さっそくですが、下の「A1セルに値・背景色・文字色を加えるコード」を確認してください。

 

上のコードでは「Sheets(“Sheet1”).Range(“A1”)」を何度も書いています。

まだ、この行数であれば少し見づらい程度で済みますが、行数が増えたり、少し分かりづらいクラスを大量に使う場合などはコードの可読性を損うことに繋がります。

なので、こういった同じ記述に対しては『Withステートメント』を用いて省略すると良いです。

スポンサーリンク



Withステートメントの記述方法

『Withステートメント』の記述の仕方は下の通りです。

With object

    [statements(処理)]

End With

 

Withキーワードのあとに、オブジェクト(またはユーザー定義型)を指定します。

省略したい処理の末尾には「End With」を記述して完了です。

 

このWithステートメントを用いることで、入力の手間を省けます

加えて、Withブロックで一連の処理を括ることで対象オブジェクトが明確になり、可読性を高める効果も期待できます

 

Withステートメントの参考コード

ここではWithステートメントの2つのパターンについて解説します。

シンプルなWithステートメントの参考コード

同じオブジェクトのメンバーに連続してアクセスしたい時がありますよね。

例えば、下のような状況とかあります。

 

上のコードの場合、「Sheets(“Sheet1”).Range(“A1”)」を何度も書くのは見栄えが悪いです。

ですが、『With』を用いると下のようになります。

 

Withステートメントのネスト(2重ブロック)

次にWithブロックが複数必要な場合についてです。

例えば、下のようなコードがWithブロックが2重にしたときのモノです。

 

3、4行目が「A1セル」対象にし、6~8行目が「A1セルの文字」を対象にしています。

上のようにオブジェクトが親子関係にある場合は、Withステートメントを入れ子関係にすることで、複数のオブジェクトでもWithブロックで対象にすることができます。

 

〇おすすめのVBA参考書ランキング!

1位

2位

3位

Excel VBA 脱初心者のための集中講座パーフェクトExcel VBAExcelVBA 実戦のための技術
初心者~中級者中級者初心者~中級者
【初心者が手に取るべき参考書】

・「書籍+動画」で圧倒的に理解しやすい入門書になっている。

・丁寧で詳しい解説でボリューム感がある。

【より深い理解をしたい方にお勧めな参考書】

・テーマに対して丁寧な解説・適度な深さで解説されている。

・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。

【入門書と一緒に買うべき参考書】

・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。

・実践的で効果的なコードの書き方が理解できる。

【読んでみた一言】
正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。
【読んでみた一言】
深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。
【読んでみた一言】
基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。

¥2,794円
amazonで確認!

¥3,608円
amazonで確認!

¥2,640円
amazonで確認!

スポンサーリンク