セルに色を付けるマクロを3分で作れる魔法の方法
素早く、効率的に、かつ簡単に、作るための
正しいマクロの作り方いいますものを、しっかり
その基本をここで身に付けていただきたく、今回も
例を挙げて以下にその辺解説してみたいと思います。
本やネットに書いてある事を真に受けて、何とも
非効率なマクロの作り方しか出来ないでいる人は、
マクロ検定の合格は難しいですよ!(笑)
たとえばの一例ですが、
検定問題の中に「B2のセルを黄色で塗りなさい。」
と言った処理仕様の一項目があったとします。
あなたならこれ、どう解きますか?
これ、よく居るのが「ネットで調べればいい!」
と言うタイプの人です。(本などには、そうやれ
と書いてありますから。。笑)
すると、そのタイプの人は、
Cells(2, 2).Interior.Color = RGB(255, 225, 0)
と、こんなようなコードを1行書いてきます。
いかにも、ネットでよく調べて書いています。(笑)
1行ですっきり書けたと、自画自賛もします。(笑)
けど、これだと、この1行を書くのに大そうな時間
が掛かります。(多分、30分くらいは掛かります。)
ネットで検索して、どのページを読むかを選んで、
開いたページを読んで、自分には分かり難いからと
また別のページを開いて最初からまた読んで、、
そこに出てきたわからない用語をまたブラウザ開いて
ネット検索して、おまけに、RGBで黄色は何番?
それも検索する必要が出てくるからです。だから、
30分は掛かります。。。
それで、あげくに行きついたコードは、
Range("B2").Interior.ColorIndex = 6
と、こう変わるかも知れません。(笑)
それが、
当講座で教えている三太郎式の正しいマクロ作成
の場合だと、完成までに要するマクロ作成時間は、
ほんの、3分です。いえ、30秒です。
30秒もあれば「B2のセルを黄色で塗るマクロ」は、
十分に完成します。
その完成コードは、こうなります。
---
Sub Macro1()
Range("B2").Select
Call Macro背景黄色
End Sub
Sub Macro背景黄色()
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
---
上記は、「マクロの記録」で記録したMacroを
だたCallした、というだけです。
下方の「Sub Macro背景黄色」のコードの中身は当然、
理解する必要はないですし、見る必要すらありません。
黄色の「カラー番号が何番なのか?」だなんて、
そんな事は全く気にする必要が無いわけです。
なぜかと言うと、
もし、この検定問題が黄色ではなくて
「オレンジ色で塗りなさい。」となった場合には、
もう一度「マクロの記録」行えばいいだけだからです。
上記を、
---
Sub Macro1()
Range("B2").Select
Call Macro背景オレンジ色
End Sub
Sub Macro背景黄色()
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Sub Macro背景オレンジ色()
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
---
と、こうすればいいでけです。
いちいちRGBや色番号を調べる必要はないですから、
「マクロの記録」の使い方に慣れてさえいれば、
これに30秒すら作成時間は掛かりませんね!
本日は、以上です。
NEXT >>
・何でも1行に詰め込んでませんか?