マクロの記録について

マクロの記録の方法とそれを活用したマクロ作成法の解説

マクロの記録とは、通常は操作を記録させてその操作を任意のタイミングで実行する事によって作業の効率化を図るものです

ですが、この操作によって実はVBAコードが作成されています。
そのコードが実行されることで記録した操作を再現しているわけです。

つまり、マクロの記録によって作成されるコードは、Excelの操作ができる人であれば誰でも作成することができることになります
これが、このVBAという言語の習得のしやすさに大きく影響を与えています。
実際自分もこの自動作成されたコードから学習しました

マクロの記録方法

マクロの記録自体は、開発タブから簡単に実行できます

マクロの記録を開始するボタンの説明

マクロの記録の開始には、開発タブの左にある「マクロの記録」ボタンをクリックすることで記録の設定画面が開かれます

マクロの記録の設定画面

設定画面の各項目

「マクロ名」ここに入力した文字列がプロシージャ名になります

「ショートカットキー」画面の通り、Ctrlキーとの組み合わせですぐに実行できるようにできるキーの設定です

「マクロの保存先」モジュールの作成場所の指定です、通常は作業中のブックでいいです

マクロの記録を終了させるボタン

今回はA1からC4までのセルに赤色の背景色を設定する操作を記録します
操作が終わったら、また開発タブに戻って「記録終了」をクリックします

なお、ミス操作をしたり、シートをスクロールする操作も全て記録されるので結果が画像と同じでも作成されるコードに違いがある可能性はあります

しかし、実行後は同じようになるはずです

記録された操作のVBAコードについて

マクロの記録を行った結果のコード

新たにモジュールが作成されていれば、そのモジュールをダブルクリックするとコードウィンドウが開かれます
その中に操作記録されたコードが作成されています

A1からC4を選択して、その選択範囲に書式設定を行っています。
内容に関しては現時点ではわからなくても構いませんが、よくよく1行ずつ読んでいけばなんとなく分かるかもしれません

実際には、行っていない設定もコード上作成されています。

これはこの操作を確実に完了させるため、関係する箇所も合わせて設定を一括で行っているためです

とはいえ、ほとんどの状況においてそれは不要な場合が多いです。
なので不要なコードは削除し必要な箇所だけをコピペして使用します

作成したマクロの利用について

記録したマクロの実行ボタン

作成したマクロを実行するには開発タブの「マクロ」ボタンをクリックします

記録したマクロの実行画面

作成した処理のプロシージャ名を選択して「実行」ボタンをクリックするだけです

マクロの記録は自動的にコードを作成してくれる素晴らしい機能です
また、いちいちヘルプやWebサイトでコード情報を調べたり、覚えておく必要も無く便利です

せっかくこの機能があるのですから、コーディングに際しても最大限利用してください。

マクロの記録だけで処理は作れないし、無駄が多いので使わないほうが良いという意見もありますが機能は使いこなしてなんぼです
マクロの記録のコードまるまるコピペやんこれ、と思われてもちゃんと機能使ってますけど何か~?ぐらいの気持ちでいいかなと思います
結局Webサイトからコピペするもの同じですしね(あ、このサイト・・・)

VBEの設定変更

VBEの画面でプログラムを作成する際に行っておくと便利な設定の解説

VBEの設定は標準でもあまり問題ありませんが、少し手を付けてあげると使いやすくなることもあるので、ここでは自分の行っている設定を紹介していきます

コード文字の設定

実際にコードを記入して処理を作成していく上で、使用PCの解像度にもよりますがそのままの設定では、見づらいかもしれません
文字の種類やサイズを変更すると見やすくなります
また、コードにはそれぞれ種類がありますのでその種類に応じた色も任意に変更できます

VBEのオプションの開き方

まずは、ツールタブからオプションを選択してください

VBEのコードの文字設定

次に表示されたウィンドウから、「エディターの設定」タブを選択してください
ここにある設定がコードの文字の内容です
自分が行った設定でいうと、まず左の「コードの表示色」です
ここがコードの種類に応じた色の設定ですので、ここを任意に変更します。変更したのは、「コメント」と「キーワード」の2つだけです。それぞれ初期設定では文字色が設定されていますが、それを文字色は自動にして背景を元々の色に設定しています。なぜなら、文字色がそれぞれの色だと見づらかったので背景色にしています
次に行っているのは、文字の種類を見やすい「Meiryo」にしています。
このサイトの文字もそれにしています。PCの画面では非常に見やすいフォントなのでおすすめです。ついでに文字サイズも少し大きくしておけば見やすくなりますが、あまり大きくするとコードの可読性が落ちるのでほどほどで

ツールバーのコマンド追加

VBEのツールバーの設定の開き方

次にツールバーの設定変更を行います。ツールバーのどこでもいいので右クリックするとメニューが表示されるので「ユーザー設定」を選択してください

VBEのツールバーでコマンドを挿入する方法

表示されたウィンドウのコマンドタブから好きなコマンドを探して、コマンド名をドラッグすればツールバーに追加できます
初期でだいたい揃っていますが、おすすめはインデントとコメントの設定を行うボタンです。特にコメントは複数行をまとめて一気に変換できるので作業がはかどります。

その他として

プロジェクトの階層表示の切り替え方法

プロジェクトの階層一覧の表示方法です
自分はすべてが表示されているほうが見やすいので、「フォルダーの切り替え」ボタンをクリックして一覧表示にしています。初期設定では種類ごとにフォルダで分割されています。

モジュールが最大化されていない時

あと、画像の様にモジュールが最大化されていない状態もあったりしますので、この場合は最大化ボタンを押せば全てのモジュールのコードウィンドウが最大化に固定されますので行っておいてください

プログラムの入れ物を作る

モジュールの作成解説とSubプロシージャの空コード

'プログラムコードの入れ物
Sub プログラム名()

’↑この間にプログラムコードを入力する↓

End Sub

Subプロシージャという、VBAの最小プログラム単位の作成です。
このSub ~ End Subまでの間に実行するプログラムコードを入力します
VBAはこのプロシージャという単位でプログラムが実行されます
また、Subの隣の「プログラム名」は任意の名称に変更してください
日本語の使用が可能です

まずは、標準モジュールの作成を行います。この標準モジュールに通常はプロシージャの作成を行っていきます。
この標準モジュールは、メニューボタンから簡単に作成可能です。

標準モジュールの作成手順

ツールバーにある「新しい標準モジュール」をクリックすると、下のプロジェクト内に新しく「Module~」と作成されます
ツールバーにボタンが無い場合は、挿入タブから操作してください

Subプロシージャの作成手順

モジュールが作成されると、そのモジュールがアクティブになって右側のウィンドウにコードウィンドウが表示されますので、そこに例コードを貼り付けします。
これで、プログラムの入れ物が完成しましたので処理の作成を行っていきましょう

VBAを使用できるようにする

ExcelでVBAを使用できるようにする設定の解説

Excelで開発タブを表示する

Excelの初期設定では、VBAを扱うことができませんので、設定を変更する必要があります。これに関してはもちろんVBAで行うことはできませんので、必ず手動で行う必要があり、オプション設定から行います
これはバージョンによって微妙な違いがあるので注意してください
基本的に2007以降はリボンというメニューが追加されたため、全て開発タブの表示が必要になります。2003以前はこの設定はありません

Excelのオプションの開き方
開発タブの表示設定

Excelのオプションから「リボンのユーザー設定」を選択し、その中から左のリストにある開発タブのチェックボックスにチェックを入れてOKボタンをクリックすれば完了です
開発タブが表示され、その1番左の「VisualBasic」から開くことができます
ショートカットキーは「Alt+F11」です。これはVBEの画面とExcelの画面を交互に切り替えることができます

開発タブが表示されている状態

セキュリティの設定

マクロ無効時の警告メッセージ

また、マクロのセキュリティ設定も必要な場合は行います
信頼済みになっていないブックでは画像の様に警告が表示されてマクロが無効の状態でブックが開かれます
2010以降は一度マクロを有効にすると、自動的に信頼済みに登録されます。 この際に登録されるのはファイル名なので、ファイル名を変更すると再度警告が表示されます
また、ネットワーク上にあるファイルを開いた場合は、自動的に登録はされずメッセージが表示されますので、登録しても問題なければそのまま登録してください
ただ当然ですが有効になるのはそのPCだけなので、逆に一時的に開くだけなら有効にして登録はキャンセルして使用することもできます

セキュリティのレベルの設定も行うことができますが、これはあまり変更することはお勧めしません
特に2010以降は自動的に登録されていくのでそれほどストレスなくマクロブックを扱えるはずです

Excel2007でのマクロ無効時の警告メッセージ

画像はExcel2007での警告時のものです。2007以前では、毎回有効化する必要があり面倒です
その場合は信頼できる場所という設定がありますので、そちらを設定してください
この設定は2010以降も同様に行えます

セキュリティセンターの開き方

オプションの「セキュリティセンター」を選択し、右下の「セキュリティセンターの設定」をクリックします

信頼できる場所の追加方法

次に「信頼できる場所」を選択し、「新しい場所の追加」をクリックします

信頼できる場所のサブフォルダの設定

開いた画面で指定の場所の絶対パスを入力します
この時に、サブフォルダーも含めるとこのフォルダ以下の全てのフォルダが信頼できる場所に登録されます

信頼できる場所のネットワーク上の設定

また、ネットワーク上のフォルダを指定するには「プライベートネットワーク上にある信頼できる場所を許可する(推奨しません)」にチェックを入れます
推奨されてません、2010以降の自動登録はできるんやけどね

特に2003以前は信頼できる場所が決まっていたので、非常にセキュリティ設定が面倒でした。さらに推奨されませんが、自分の作ったものしか使わない場合はセキュリティレベルを「低」にしてましたね

Excel2003でのマクロセキュリティの設定

ツールタブの中のマクロから「セキュリティ」を選択する

Excel2003でのマクロセキュリティレベルの設定

すでに2003を使える環境になく、以前撮っておいた画像でしたが、やはり「低」です。当時はどれほどのことをVBAで出来るのか分かってなかったので安易に行ってましたね、怖い

マクロ有効ブックについて

ここまでの操作でとりあえず処理作成の準備は整いました。あとは処理を作成していくだけですが、最後に重要な点です
Excel2007以降はセキュリティ強化のためにファイルの拡張子が変わりました。それに伴いマクロが入ったものと、入っていないもので拡張子が違います
ファイルを開く前にマクロが入っているか分かるようになっているのです
そして、これは保存形式にあてはまりますが、標準の形式ではマクロは保存されない仕様になりましたので、保存する際にはマクロ有効ブックで行う必要があります

マクロ有効ブックでない時の警告

画像の様に標準形式でマクロ有効ブックを保存しようとするとメッセージが表示されます。このメッセージを「はい」を選択してしまうとあなたの作ったマクロはこの世から消えてしまいます
Excel2003から移行してすぐの頃、これに一体何度泣かされたか分かりません。作成最初に名前を付けて保存する癖を付けてからはありませんが、初心者の方は本当に気を付けてください。この「はい」は本当に恐ろしいです・・・