
安全なマクロ (VBA) を含んでいる Excel ファイルのみ、「マクロを有効」に。
※本日は、難しい「用語の説明」を抜きにして、進めます。
身内に不幸があったため、昨晩は投稿できませんでした。ごめんなさい。
「広告」
(02) Excel の「マクロの記録」で保存されるVBAコードを弄ってみよう!
Excel メニューバーの [ヘルプ] - [更新プログラムのチェック] にて、適用されていないアップデートがあれば行ってください。Excel 2016 for Mac 環境での説明となりますので、 Mac版 Excel 2011 では( VBA が利用できますが )同じ結果にならない場合があるかもしれません。
現状、 VBAコード 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。
安全なマクロ (VBA) を含んでいる Excel ファイルのみ、「マクロを有効」に!

前回保存した 拡張子 xlsm の Excel ファイルを開くと、マクロ ( VBA ) が含まれているため 上記のダイアログが 表示されます。
これは悪質なマクロを含んだ危険な Officeファイルが存在し、その実行を回避するための手段です。
知らない方から「マクロを含んだ Officeファイル 添付」のメールが届いた場合、絶対に添付ファイルを開いてはいけません。
安心なマクロ ( VBA ) と判っている場合のみ、[ マクロを有効にする ] ボタンをクリックします!
知り合いの方と「マクロを含んだ Officeファイル」をやり取りする場合、事前に相手に伝えておくと良いでしょう。
それでは、前回保存された VBAコード を見てみましょう!
[ alt ] + [ F11 ] でも、 VBA 編集用の VBE ( Visual Basic Editor ) ウィンドウを表示可能です。
VBAコードは大文字/小文字を区別しませんが、全て小文字で記述しても見易いよう、VBE にて自動的に補完されます。
ただし、必ず「無変換」状態にて入力ください。
【Macro1 にて黄色で塗りつぶした場合の VBAコード】
Sub Macro1()
'
' Macro1 Macro
'
'
Range("E3:E26").Select
ExecuteExcel4Macro "PATTERNS(1,0,65535,TRUE,2,3,0,0)" ' Yellow
End Sub
【Macro2 にて赤色で塗りつぶした場合の VBAコード】
Sub Macro2()
Range("E3:E26").Select
ExecuteExcel4Macro "PATTERNS(1,0,255,TRUE,2,3,0,0)" ' Red
End Sub
通常、 VBE にて緑色で表示される VBAコード は 「コメント(注釈)」のため、無くても実行結果は変わりません。
(行の途中でも) ' (アポストロフィ・シングルコーテーション)以降行の最後までと、Rem で始まる行は VBA のコメントになります!
( ' Yellow と ' Red は、筆者が付加したコメント)
1行目は、セルの「E3」から「E26」を選択するというコード。
コメントを除くと、VBAコードの実質2行を比較して異なるのは、 65535 と 255 の数字の箇所のみ。
この数字にて、「塗りつぶし」の色が決まります。
RGB Color Chart 内の RGB code を整数化したものがこの数字で、RGB code は「 Red 0-255 , Green 0-255 , Blue 0-255 」の組み合わせで 1670万色 を表現可能。
赤色だと、RGB(255, 0, 0) で、255 + 256*0 + 256*256*0 = 255
黄色だと、RGB(255, 255, 0) で、255 + 256*255 + 256*256*0 = 65535
青色だと、RGB(0,0,255) で、0 + 256*0 + 256*256*255 = 16711680

なお、計算しなくても VBA で利用可能な VB (Visual Basic) の関数を用いれば判ります。
上記画面通りに「イミディエイトウィンドウ」に入力して確かめてみてください。
(「?」は「Debug.Print」の省略形)
【Macro2 にて青色で塗りつぶした場合の VBAコード】
Sub Macro2()
Range("E3:E26").Select
ExecuteExcel4Macro "PATTERNS(1,0,16711680,TRUE,2,3,0,0)" ' Blue
End Sub
上記の通り、255 を 16711680 に修正します。
' Blue は、前述のとおりコメントのため、実行結果は変わりません。
Sub Macro2()
Range("E3:E26").Select
ExecuteExcel4Macro "PATTERNS(1,0,RGB(0,0,255),TRUE,2,3,0,0)" ' Blue
End Sub
上記のように RGB(0,0,255) と記述できると良いのですが、残念ながら動作しません。

上記画面では水色表示の Macro2 をマウスで反転選択後、「イミディエイトウィンドウ」の上の左から2つ目の(再生ボタンみたいな)アイコンをクリックすると、 Macro2() のコードが実行され該当セルが青色で塗りつぶしされます!
お疲れ様でした!
[command] + [Q] にてExcel を終了時、「作業中のブック」を保存するか確認のダイアログ画面が表示されるため 「保存」しましょう。
現状、 VBAコード 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。
「広告」
最後まで読んでいただき、ありがとうございます。ぜひ、右側の「人気ブログランキング」投票に ご協力ください。
また、お越しくださいませ。
// アタル
「広告」
コメント