セルに色を付けるマクロを3分で作れる魔法の方法 − GoGoマクロ!のWebサイト

HOME > 入門 > 基本ノウハウ

セルに色を付けるマクロを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行に詰め込んでませんか?