マクロを作成する最も手っ取り早い方法はマクロ記録です。
マクロ記録は、Excelを操作した内容がマクロとして記録されるものです。
これから、実際にExcelを操作してマクロを記録してみます。今回は、セルに赤い色を設定するマクロを作ります。
マクロ名は、英数字、漢字、ひらがな、カタカナ、アンダースコア(_)が使えます、ただし、マクロ名の先頭の文字には、数字とアンダースコアは使えません。名前の長さは255文字以内です。
説明には何を書いてもかまいません。あとでマクロの機能がわかるようなコメントを書いてください。
右下のオプションボタンを押すとダイアログボックスが拡張します。
[ツール]メニューのコマンドは、作成したマクロをメニューに登録して、起動出来るようにします。メニューは赤色をつける(&E)します。(&E)のように&のあとにアルファベットの文字をつけるとそのアルファベットの文字は、アクセラレータキーになります。
ショートカットキーはマクロにショートカットキーを割り当てます。ここは、Ctrl+Shift+Eを設定してください。Ctrl+Shift+Eは、Shiftキーを押しならがEを押すと設定できます。このときCapsLockは解除しておいてください。
記録先の個人用マクロブックは、Excelがインストールされているフォルダの配下のXLSTARTフォルダのブックPersonal.xlsにマクロが作成されます。XLSTARTフォルダにあるブックは、Excel起動時に自動的に読み込まれるもので、Personal.xlsには、ブックに関係なく共通で使用するマクロを記録しておきます。作業中のブック、新しいブックの意味はわかりますよね?ここはは作業中のブックとします。
使用言語は、Visual Basicです。
以上の設定をしてからOKボタンを押すとマクロの記録が始まりますので、ツールバーの色パレット()でセルに赤色を設定する操作を行います。
ツールバーに色を設定する色パレットがない場合は、[書式]-[セル]で「セルの書式設定ダイアログを表示して、パターンタグで色を設定します。
以上で、記録したい操作が終了したので、を押して、マクロの記録を解除します。
がない場合は、メニューの[ツール]-[マクロの記録]-[記録終了]で解除してください。
記録されたマクロは、Module1と言うモジュールシートに記録されています。メニューの[ツール]-[マクロ...]で「マクロの実行」ダイアログボックスを表示して、Record1を選択してから、[編集]ボタンを押すとマクロへジャンプできます。
下記が記録されたマクロです。
ここで、マクロに記述されている内容を、簡単に説明しますが、その前にヘルプの使い方を見ておきましょう。
マクロの
With Selection.Interiorとなっている行の With のところへカーソルを移動してから、F1キーを押してください。Withステートメントのヘルプが出てきましたか?出てこなかった人は、VBAのヘルプがインストールされていませんので、追加インストールをしてください。追加インストールは、コントロールパネルの「アプリケーションの追加と削除」でMicrosoft Officeを選択して「追加と削除...」ボタンを押すとセットアップが起動しますので、「Visual Basic のヘルプ」を追加してください。
マクロの記録で作成されたマクロでわからない部分があったら、その語へカーソルを持っていってF1キーを押すと、ヘルプが表示されます。F1キーでヘルプが起動されるのはウィンドウズの標準です。ほとんどのアプリケーションがこれに対応していますので、他のアプリケーションでも試して見てください。
これからマクロの説明をしていきますが、一部省略している事もありますので、適宜ヘルプを参照するようにしてください。
Option Explicitは、変数(プログラムで値を入れておく入れ物)の使用宣言を必須とするオプションで、メニューの[ツール]-[オプション...]で表示されるオプションダイアログの[モジュール設定]タグの変数の宣言を強制するをチェックしていると、モジュールシートを追加すると自動的に設定されるものです。
今回のマクロでは変数が使われていません(マクロ記録で作成した場合は変数は使用されないと思います。)ので、Option
Explicitはあってもなくても関係ありません。
緑色がついている文字は、コメントです。コメントというのは、エクセルが解釈しない文字で、あとでプログラムを人間が見て何のプログラムなのかがわかるように説明を入れておきます。シングルクォーテーション(')以降のその行の文字はコメントになります。
Sub Record1()とEnd Subに挟まれた部分がマクロの本体で、Record1がマクロ名です。
WithとEnd Withで囲まれた部分ですが、本来は、
Selection.Interior.ColorIndex = 3 Selection.Interior.Pattern = xlSolidなのですが、共通のSelection.Interiorに対する処理なので、Selection.Interiorの部分を省略できるように、括ったものです。
Selectionは選択されているものInteriorは、内部を意味し、ColorIndexはカラーパレットの色です。カラーパレットのいろは左上が1番で左から右、上から下の順番に番号がふられています。
つまり、
Selection.Interior.ColorIndex = 3
は、「選択された部分の内側の色をカラーパレットの3番の色にする」と言う意味になります。
次の行のPatternは、塗りつぶしのパターンで、下記のようなパターンがあります。
Selection.Interior.Pattern = xlSolid は、「選択された部分の内側の塗りつぶしパターンをSolidとする。」と言う意味です。
マクロを実行する方法はいくつかあります。
■マクロ作成時にメニューコマンドを設定した場合は、ツールメニューの最後のマクロが追加されています。
■また、ショートカットキーを設定した場合は、ショートカットキーが使えます。ここでは、Ctrl+Shift+Eで設定したので、Ctrl+Shift+Eでセルが赤になります。
■あとは、[ツール]-[マクロ...]で表示される「マクロの実行」ダイアログでマクロを選んで、開始ボタンを押すことでマクロを起動することができます。
なお、メニューへの登録/削除、ショートカットキーの設定/解除は、[ツール]-[マクロ...]で表示される「マクロの実行」ダイアログのオプションボタンで編集できます。