1. 専門用語を暗記しない

 マクロを学ぼうとすると「コレクション」「オブジェクト」「プロパティ」「メソッド」「プロシージャ」などの専門用語が多く出てきます。

 これらを理解するに越したことはないですが、普段のエクセル仕事をするレベルではそのような知識は必要ありません。

 1つ例を挙げてみます。こちらはマイクロソフトのホームページにある説明です。

A)sheetsコレクションを取得するのには、Workbookオブジェクトのsheetsプロパティを使用します。
B)新しいシートを作成し、コレクションに追加するには、addメソッドを使用します。
C)sheet(インデックス)にシート名__ またはインデックス番号を使用して、1つのChartオブジェクトまたはWorksheetオブジェクトを返します。次の使用例は、Sheet1というシートをアクティブにします。
〈https://docs.microsoft.com/ja-jp/office/vba/api/excel.sheetsより抜粋〉

 確かにこれは正しい表現かもしれません。しかし、僕はこれを理解しようという気すら起きませんでした。はたして本当にこの表現が必要なのでしょうか。先ほどの説明を簡単に言い換えてみます。

A)シートに関する作業をしたいときは「Sheets」という命令を使う
B)シートを追加したいときは「Sheets(“シート名”).add」と書く
C)シートを「Active」(選ばれた状態)にするには「Sheets(“シート名”).activate」と書く

 これなら今日勉強しはじめた人でも理解できるのではないでしょうか。僕は難しい言葉の知識ではなく「〇〇のときはXXと書く」と必要最小限だけ覚えています。もちろんそれで仕事は全く支障なく進んでいます。

2. コードはどんどん再利用する

 何度もマクロを作っていると「以前と同じ動作をさせたい」ことが増えてきます。そのときは、既に書いたコードを再利用すべきです。最初から書くと時間がかかり、エラーが出るリスクも高くなるので、いいことがありません。

 既存のコードを使えば、作成時間を数時間単位で短縮できる場合も多いです。そのときは自分が作ったコードや、既に作成されたサンプルコードをコピー&ペーストしましょう。必要なところだけ修正すれば、手間も時間もかからず、エラーなく動かせます。

 どの部分を再利用すればいいかは、本書で学ぶ知識があれば判別できます。

 例えばエクセルのシートをコピーするマクロの場合。マクロではシートごとコピーをした方が効率化できるのでよく使います。すべて書くと18行ほどになりますが、シート名の1ヵ所さえ書き換えれば、どんな場面でも使うことができます。

 すべて自分の手で作ることは確かに素晴らしいです。とはいえマクロの目的は省力化です。できるだけ楽して作ることを心がけましょう。