3. 関数を積極的に使う

 マクロでは関数を2通りの方法で使うことができます。

 1つ目はマクロ用の関数を使う方法。エクセルで使っていた関数のマクロ版と考えてください。例えばVLOOKUP関数やCOUNTIF関数はマクロでは次のように書きま

 WorksheetFunction.Vlookup(検索値,範囲,列番号,検索の型)
 WorksheetFunction.CountIf(範囲,検索値)

 これまで使っていた関数と似ているようで少し違いますね。これには検索値などにマクロ特有の書き方のルールがあります。新たに使い方を覚えないといけませんし、勝手が違って戸惑うことも多いです。

 そこで2つ目の、マクロを使ってセルにエクセルの関数を入力する方法をおすすめします。こちらは、関数をセルに入力していた手作業そのものをマクロにさせます。手作業をマクロに置き換える感覚が掴みやすく、理解しやすいのです。

 “”(ダブルクォーテーション)で囲まれた中はエクセルの関数と全く一緒です。ですから、マクロを書く前にシート上で正しく動くか検証できます。そうすれば、エラーやミスを減らせます。実際に関数をセルに入力しているので、手作業と同じようにコピー&ペーストもできます。

 Range(“セル”).formula = “=VLOOKUP(検索値,範囲,列番号,検索の型)”
 Range(“セル”).formula = “=COUNTIF(範囲,検索値)”

 この他にも「関数とマクロの合わせ技」を使うと、格段にマクロを作りやすくなる場面があります。

4. 変数も繰り返しも1パターンで

 これまで少しでもマクロを学んだ経験のある方は「マクロを使いこなすには様々な構文を覚えないといけない」と思われているのではないでしょうか。しかしほとんどの場合、最も汎用性のあるものを1つ覚えるだけで大丈夫です。

 まず必要最低限のことを身に付け、より早くマクロの全体像を理解しましょう。その方が上達も早くなります。

 それでは、いくつか例を挙げながら見ていきましょう。

例1:変数
 マクロには、変数という概念があります。ここでは、数字や文字をしまっておく箱のようなものと考えていてください。

 変数には中に入れられるものによっていくつもの種類(型と呼ばれる)があります。

初心者でも簡単マスター!「Excelマクロの学び方」4つのポイント

 この表を見るだけで「うわーっ」ってなりますよね。真ん中の方に書いてある数字を見ていると目が回りそうになります。「この表をきちんと覚えて使いわけるには、相当時間かかりそうだなあ。でも書いてあるから覚えなきゃなあ……」と思ってしまったのではないですか?

 でも、この表の一番下に注目してください!

「バリアント型:すべてのデータに適応」とあります。

 つまり、バリアント型の箱にはどんなものも入れられます。これだけ使えばすべて解決なのです。

 どういったことなのか、少し解説します。先ほどのページの表の上から3番目に整数型という型があります。これにしまえるのは、―32,768から32,767の間の整数だけです。この型に範囲外の数値を入れるとエラーが出ます。小数を入れると、自動的に切り上げや切り捨てされ、整数になります。ですから、かけ算やわり算の結果をしまおうとすると、エラーが出たり、その先の処理が思い通りにいかなかったりする可能性があります。また、間違えて文字を入れてもエラーが出てしまいます。

 すべてのデータに対応するバリアント型であれば、どんな値が入ってもエラーは出ません。学ぶことを少なくしながら、エラーを出しにくくできます。

例2:繰り返し処理
 こちらも先に進むと出てきますが、マクロを学ぶ醍醐味は繰り返し処理にあります。手作業を何度も繰り返す必要がなくなり、業務を格段に効率化させることができます。

 この繰り返し処理にも、命令の書き方が複数存在します。

初心者でも簡単マスター!「Excelマクロの学び方」4つのポイント

 1つ目の「For ~ Next」は、繰り返す処理の回数が決まっている場合にのみ利用できます。2つ目の「Do ~ Loop Until」は繰り返す条件を自由に決められます。では、どちらを覚えるのが効率的でしょうか?

「Do ~ Loop Untilだけ学べば十分ではないか」

 こう思った皆さん、その通りです。「Do ~ Loop Until」さえ覚えればどんな条件でも繰り返し作業をさせることができます。まずはこちらを使えるようになりましょう。

(本原稿は、寺澤伸洋著『4時間のエクセル仕事は20秒で終わる』を抜粋、再構成したものです)

寺澤伸洋(てらさわ・のぶひろ)

初心者でも簡単マスター!「Excelマクロの学び方」4つのポイント

1976年、大阪府生まれ。灘高校、東京大学経済学部卒業後、日系メーカーで17年間勤務。経理や営業、マーケティング、経営企画などに携わり、独学で覚えたエクセルマクロを用いて様々な分析や業務改革を行う。2017年、GAFAの日本法人のうちの1社へシニアマネージャー(部長)として転職。これまでエクセルマクロを用いた業務改善などで数多くの社内表彰を受けている。手作業では不可能なほど大量のデータを、短時間で分析しやすく加工したことが評価され、社内エクセルマクロ講習会の講師として延べ200人以上に講座を実施。エクセルマクロについて1から10まで教える詰め込み型の学習ではなく、仕事に必要な部分だけを効率的に学べる講座として満足度98%の高い評価を受けている。