Jose's FANTASY SPORTS!

アメリカンフットボールを中心にスポーツ好きで、カントリーギター好きのJoseによる雑記帳です。

細かい事は分からんがVBAがやりたい-15-

2010年08月06日 23時00分00秒 | いきなりVBA(Excel)
[ いきなりVBA ]
いきなりVBA 第1回 LOG
だいぶ間が空いてしまいましたが、まだまだやる事はいっぱいですよ。
今回は、ひとつの対象に行う命令を綺麗にまとめてくれる、Withです。


A1セルに、“□FAX送信状”と入力されています。
このA1セルの文字列を装飾してみます。

(1) フォントサイズを16にする
(2) ボールド(太字)にする
(3) 文字色を青にする

以上の装飾を行います。

記述したコードは、上から順番に処理されるので、順番に書いていけばOKな訳です。
フォントの各種指定は、.Font~という記述で実現します。


という訳で、これまでやった内容から言えばコードはこんな感じになります。

Range("A1").Font.Size = 16
Range("A1").Font.Bold = True
Range("A1").Font.Color = vbBlue

ボタンを作って、コードを記述してみましょう。

できあがったら、デザインモードを解除して、ボタンをクリック。


(1)、(2)、(3)の命令が、それぞれ実行されて、望みどおりになりました。

これで十分OKです。

でも、なんか3行とも出だしが同じで、毎回記述するのは面倒だし、後で確認する時分かりにくいです。
(凄く似てるけど、ちょっと違う記述かもしれない...なんてのも確認しなきゃいけないからね。)
それに、後で装飾する対象がA1じゃなくて、A2に変わったなんて時には、コードを修正するのも大変です。

これが3つ位だからいいけど、10~20個の命令を、同じ対象に行ったら、かなりコードは見づらいです。

そんな時に便利なのが、Withです。
同じ対象に複数の命令を行う時に、すっきりとまとめる事ができます。

先ほどのコードを、Withを使って記述すると、こんな感じです。

With Range("A1").Font
.Size = 16
.Bold = True
.Color = vbBlue
End With

Ifで始めた記述をEnd Ifで終わるように、With~は、End Withで終わります。
ボタンに記述して動作させてみましょう。


結果は同じですね。

結果は同じだから、別にやらなくてもいい事です。
だけど、先時の通り、解析/修正がしやすいなどの理由で、極力こうしてまとめておいた方が良いです。

かなり有用なコードなので、随所に使う事になると思います。
例えば、印刷設定などでの、ページ設定(.PageSetUp)などでは必須です。

BGM♪ Walking with You / Russ Barenberg
大傑作アルバム「カウボーイ・カリプソ(Cowboy Calypso)」に収録された一曲。
オープニングを飾るタイトル曲を含め、とっても質の高いインスト集のアルバムです。
休日の朝なんかに、絶対おすすめの一枚ですね。
という位“With”は、おすすめの命令です。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ミラクルイヤー | トップ | アルコール備忘録2010 -28- »
最新の画像もっと見る

コメントを投稿

いきなりVBA(Excel)」カテゴリの最新記事