
taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
どうも、taka(@takabou63)です(^^♪
今回はExcelVBAにおいて命令をまとめる事ができる【Withステートメント】について説明していきます(^^♪
Withステートメントとは
とつぜんオブジェクトの命令をまとめると言われてもいまいちピンと来ないですよね(;^ω^)
例えばですが、自分を自己紹介するときはどのように説明しますか?
まずVBAで文法で自己紹介をしたとします、この場合
私は身長は170㎝です。
私は体重は60キロです。
私は出身地は東京都です。
と初めに【私は】と言ってオブジェクトを設定して【です】で締めて次の説明にいかなければいけませんよね(*´з`)
コードにするとこのようなイメージです。
Range("A1").Value = 1 Range("A1").Interior.ColorIndex = 10 Range("A1").Font.ColorIndex = 2
※コードはセルA1に1を記入して背景は緑、フォントの色は白にする。というコードです。
ですが実際私たち人間が自己紹介した場合はこのように面倒な自己紹介はしませんよね?(;^ω^)
自分で自己紹介する場合、おそらくこのように自己紹介するのではないでしょうか?
私は
身長は170㎝
体重は60キロ
出身地は東京都
です
これを見てみるとお分かりだと思いますが、一番初めに【私は】とオブジェクトを設定して、最後に【です】で締めているのです(^^♪
上記のようなコードを書くときに使うのが「Withステートメント」なのです(^^)/
withステートメントの使い方
Withステートメントは上記の自己紹介の部分でいうと【With(私は)】【End with(です。)】という関係になります。
With Range("A1")’私は .Value = 1 ’身長は170㎝ .Interior.ColorIndex = 10 ’体重は60キロ .Font.ColorIndex = 2 ’出身地は東京都 End With’です
Withステートメントの使用方法は上記の内容で何となく、つかんでいただけたと思いますがここであらためて詳しく説明していきたいと思います(^^)/
WithステートメントはwithとEnd withで囲んだ範囲が対象になります。
そしてWithは【.】で始まらない命令はwithの対象として認識されません。
Sub sample() Sheets("Sheet1").Activate ’アクティブシートはsheet1に設定 With Worksheets("Sheet2") ’ここからがwithの対象 Range("A1").Value = 1 '【.】から始まっていないのでsheet2のRange("A1")とは認識されません .Range("A1").Interior.ColorIndex = 10 .Range("A1").Font.ColorIndex = 2 End With’ここまでがwithの対象 End Sub
このコードではRange(“A1”).Value = 1 だけが【.】で始まっていないので【Sheet2のRange(“A1”)】と認識されずにActivesheetである【sheet1のRange(“A1”)】と認識されています(-ω-)/
下の画像は上のコードを実行した場合の画像です、Activesheetであるsheet1のセルA1に数字の1が記入され、Withステートメントが反映されているSheet2のセルA1の背景が緑に変わっていることがお分かりだと思います(^^♪




Withステートメントはオブジェクトをまとめることができるステートメントです。Withステートメントを使えばコードの可読性向上や、コードを書く量が減ることになるため生産性の向上などが期待できます(^^♪
なので積極的に使用していきましょう(^^)/
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す