この記事で解決できる3つの疑問

Withって何?
どんな時に使ったらいいの?
結論:With構文を使えば、同じオブジェクトへの繰り返し処理をスマートに記述できます
セルの書式やオブジェクトの設定を連続で行う場面では、With構文を使うとコードが短くなり、読みやすさも向上します。たとえば Range("A1").Font.Bold = True
を複数行書くような処理は、With構文でまとめるのがベストです。
With構文とは?
With構文とは、「同じオブジェクトに複数の処理を行うときに、オブジェクト名を何度も書かずに済む」便利な書き方です。
Range("A1").Font.Bold = True Range("A1").Font.Size = 14 Range("A1").Font.Color = vbRed
このように Range("A1").Font
を毎回書くのは冗長です。
使い方の基本構文とポイント
With構文の基本は以下の通りです。
With オブジェクト .プロパティ1 = 値1 .プロパティ2 = 値2 End With
「.(ドット)」を先頭につけて、対象のプロパティやメソッドを指定します。
End With
を忘れずに!
よくある使用例:セルの書式設定
With Range("A1").Font .Bold = True .Size = 14 .Color = vbBlue End With
このように、Range("A1").Font
に対して複数の設定をまとめて書くことができます。見た目もスッキリして、読みやすくなります。
With構文を使うメリット
■ コードが短くなる
毎回オブジェクト名を書かずに済むため、全体の行数を減らせます。
■ 可読性が向上する
似たような処理が続くときに、「このブロックは何をやっているか」がひと目で分かります。
■ メンテナンスがしやすくなる
あとで「Range(“A1”)」を「Range(“B1”)」に変更したい時など、Withの1行目だけ修正すればOKです。
注意点:ネストとEnd Withのミス
Withの中にWithを入れる「ネスト」は避けた方が無難です。
初心者のうちは混乱しやすく、意図しない動作を招くことも。
また、End With
の書き忘れや位置ミスにも注意しましょう。構文エラーになったり、思わぬバグの原因になります。
まとめ:迷ったらまず使ってみよう!
With構文は、初心者にとっても習得しやすく、実務でも非常に役立ちます。
- 同じオブジェクトを何度も使うときに効果的
- コードが短くなり、読みやすくなる
- 書式設定やグラフ、シェイプ操作などにも応用可能
慣れてくると「Withを使わないと逆に不便」と感じる場面も増えてきます。ぜひ積極的に使っていきましょう!
コメント