トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 森川くんのVBA日記編: 第14話「ステートメントはマクロの要」4/4 :Withステートメント

やってみよう!Excel VBAで業務改善! 森川くんのVBA日記編|第14話 「ステートメントはマクロの要」

Withステートメント

「Withステートメントはどう?
ちょっとクセがあるけど、ちゃんと理解できた?」


Withステートメントは、VBAの命令をまとめる働きをします。私たちが使う会話でも、同じ主語が何度も登場するときは主語を省略します。

<中略>

Withステートメントも同じように、何度も登場する主語(オブジェクト)を最初に明言して、続く情報(プロパティやメソッド)は、すべて明示した主語(オブジェクト)に関するものとします。

<中略>

Withステートメントは「With ○○」で始まり「End With」で終わります。「With」から「End With」までの間で、主語(オブジェクト)を省略していることを表すには、命令の先頭を「.(ピリオド)」で書き始めます。

                                         < ベーシック公式テキスト P120 >

「はい。テキストに書いてある"主語を省略する"という解説が、すごくわかりやすかったっス。
これって、"If"や"For…Next"同様、ブロック構造のステートメントなんですよね?」

「そうよ。オブジェクトの記述が省略できるのは、
"With"から"End With"までにある、"."から始まる命令に限られるわ」

「"."は、行頭以外でも使えるんですよね?」

「使えるわよ。
例えば、".Value = .Value + 1"のように、1行の中で複数回使うこともできるわよ」

森川くんは、フンフンとうなずきます。

「IfやFor…Next、Withは、マクロを制御する大切な命令……
言うなればマクロの要になるステートメントよ。
しっかりと理解して、使いこなせるようになってね」

岬さんのレクチャーを、森川くんは真剣な表情で聞き入っています。

第15話「関数を覚えよう」に続きます
文・イラスト / 武藤 玄
ご意見やご感想の投稿はこちら

星くんと一緒にSTEP UPしませんか?
一覧にもどる