With
Withとは何度も何度も登場するであろう物をあらかじめ宣言しておくことにより省略させることが出来るものになります。
何度も何度も登場するケースとしては例えばA1のセルを対象に操作するとします。操作する内容は
- A1のセルの値を”ウカチャン”にします
- A1のセルの背景色を赤にします。
- A1のセルの文字色を白にします。
- A1のセルの周りに罫線を引きます。
こんな内容だとします。これはさすがにA1のセルが登場しすぎですよね?
これをまともに記述しようと思うと…
Range("a1").Value = "ウカチャン"
Range("a1").Interior.Color = RGB(255, 0, 0)
Range("a1").Font.Color = RGB(255, 255, 255)
Range("a1").Borders.LineStyle = xlContinuous
いやはや面倒くさい。。。と(記述している内容はまだお勉強していないものも含んでいます。)
例えば誰かとお話する時にもこんな風に言われるとちょっとうざいですよね。
A1のセルをウカチャンにして A1のセルの背景色を赤にして A1のセルの文字色を白にして A1のセルの周りに罫線を引きたいんだよね。
これを
A1のセルを変更したいんだよね。
値をウカチャン
背景色を赤
文字色を白
で、周りに罫線を引きたいんだけど
こんな感じで説明してくれた方が簡潔ですよね?
そこで登場するのがWithなわけです。
こんなに面倒な記述もWithを使えばこんなにすっきりと書けちゃうんです。
With Range("a1")
.Value = "ウカチャン"
.Interior.Color = RGB(255, 0, 0)
.Font.Color = RGB(255, 255, 255)
.Borders.LineStyle = xlContinuous
End With
これは
これからするのはA1のセルの変更ね
値はウカチャン
背景色は赤
文字色は白
周りに罫線を引く
A1のセルの変更はこれで以上!
こういう事です。
Withを使う場合はWithであらかじめ宣言したものを使用する時には「.」ドットを使います。
今回の様にRange(“a1”).Valueとなる部分のRange(“a1”)の部分を省いてもいいですよーってことですね。
今回はRangeの話でしたが、これはWorkSheetなどにも同様に使用できますので便利ですね。
それでは次回はSelect Case(セレクトケース)についてお話をしていきましょう。
