MENU

【初心者向け】VBAのWith構文とは?繰り返し記述をスマートに!

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

A子さん

同じオブジェクトを何度も書くの、ちょっと面倒…
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を使わないと逆に不便」と感じる場面も増えてきます。ぜひ積極的に使っていきましょう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次