今回はWithステートメントについてお話します。
ステートメントとは「発言、声明」などの意味を表しますが、VBAでは「プログラムの一つの一つの文」と捉えていただければわかりやすいかと思います。
では早速いきましょう。
スポンサーリンク
Withステートメントとは?
オブジェクトに対する処理
オブジェクトに対する処理
…
End With
これが基本形です。
ある一つのオブジェクトに対して2つ以上の指示を行う場合、Withステートメントを使用すれば、そのオブジェクト名を省略できるということです。
例えば日本語では
田中さんの靴
田中さんの帽子
これを
〃 靴
〃 帽子
こうやって書くことができますよね?
つまり「〃」はVBAでは「With~End With」と書くと覚えて下さい。難しく考えなくて大丈夫です。
スポンサーリンク
Withステートメント実践編
では実際のコードを見てみましょう。
Worksheets(“sheet1”).Range(“A2”) = 2
Worksheets(“sheet1”).Range(“A3”) = 3
Worksheets(“sheet1”)の部分が同じですよね。これは下のように書くことができます。
.Range(“A1”) = 1
.Range(“A2”) = 2
.Range(“A3”) = 3
End With
こんな感じですね。
1行2行ならいいのですが、ある程度の規模のシステムを作るとなるとWithステートメントが必要になってきます。
ちなみにWithとEnd Withの間のステートメントがちょっと右にずれていますよね?
これのやり方はTabキーを一度押すだけです。これを行うことによりコードが見やすくなります。
日本語でも段落が変わる毎に1文字空けますよね。イメージ的には同じようなものです。
Withステートメントの注意点としてはEnd Withを付ける事。これを忘れるとエラーが発生しますので必ず付けるようにして下さい。
それではWithステートメントについては以上になります。お疲れ様でした。
次回はFor~Next ステートメントについてお話します。