VBA 【Withステートメント】オブジェクトの命令をまとめる

ロゴ



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、taka(@takabou63)です(^^♪

今回はExcelVBAにおいて命令をまとめる事ができる【Withステートメント】について説明していきます(^^♪

Withステートメントとは

とつぜんオブジェクトの命令をまとめると言われてもいまいちピンと来ないですよね(;^ω^)
例えばですが、自分を自己紹介するときはどのように説明しますか?

まずVBAで文法で自己紹介をしたとします、この場合

私は身長は170㎝です。
私は体重は60キロです。
私は出身地は東京都です。

と初めに【私は】と言ってオブジェクトを設定して【です】で締めて次の説明にいかなければいけませんよね(*´з`)

コードにするとこのようなイメージです。

※コードはセルA1に1を記入して背景は緑、フォントの色は白にする。というコードです。

ですが実際私たち人間が自己紹介した場合はこのように面倒な自己紹介はしませんよね?(;^ω^)

自分で自己紹介する場合、おそらくこのように自己紹介するのではないでしょうか?

私は 
身長は170㎝
体重は60キロ
出身地は東京都
です

これを見てみるとお分かりだと思いますが、一番初めに【私は】とオブジェクトを設定して、最後に【です】で締めているのです(^^♪

上記のようなコードを書くときに使うのが「Withステートメント」なのです(^^)/

withステートメントの使い方

Withステートメントは上記の自己紹介の部分でいうとWith(私は)】【End with(です。)】という関係になります。

Withステートメントの使用方法は上記の内容で何となく、つかんでいただけたと思いますがここであらためて詳しく説明していきたいと思います(^^)/

WithステートメントはwithとEnd withで囲んだ範囲が対象になります。

そしてWithは【.】で始まらない命令はwithの対象として認識されません。

このコードではRange(“A1”).Value = 1 だけが【.】で始まっていないので【Sheet2のRange(“A1”)】と認識されずにActivesheetである【sheet1のRange(“A1”)】と認識されています(-ω-)/

下の画像は上のコードを実行した場合の画像です、Activesheetであるsheet1のセルA1に数字の1が記入され、Withステートメントが反映されているSheet2のセルA1の背景が緑に変わっていることがお分かりだと思います(^^♪

 

 

 

 

 

 

Withステートメントはオブジェクトをまとめることができるステートメントです。Withステートメントを使えばコードの可読性向上や、コードを書く量が減ることになるため生産性の向上などが期待できます(^^♪

なので積極的に使用していきましょう(^^)/

フォロー・チャンネル登録お願いします

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

ロゴ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です