エクセルマクロの挫折しない勉強法や仕事で使いこなすコツを徹底解説!
講師の寺澤さんはこれまでの20年間マクロを使って様々な業務を効率化させるなど、数多くの社内表彰を受けてきました。例えば、数十万行の元データから分析用データを毎週作成する作業。人の手だと1週間かけても終わらない作業ですが、マクロを使うと30分程で完成してしまいます。さらに自ら社内講座も主催、全くマクロを触ったことがない数百人を指導し、満足度98%と人気を博しています。近著『4時間のエクセル仕事は20秒で終わる』では、そのエッセンスを余すところなく紹介しています。
本連載では、エクセルマクロを仕事で使うための本当に必要な知識だけを、できるだけわかりやすく説明していきます。

Photo: Adobe Stock

かんたんに数式や関数を入力するためのポイント

今回はセルに数式(四則演算や関数)を入れるマクロを学びます。

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

それでは、手順を追って解説していきます。

Rangeでセルを指定した後「Formula」を利用します。=(イコール)の後に入力したい数式を" "(ダブルクォーテーション)で囲って書きます。「練習」シートのセルB7にSUM関数を入れてみましょう。セル「B1からB5」の数字を合計させ、その結果をセルB7に出します。

マクロは次のように書きます。 " "(ダブルクォーテーション)の中に、数式の最初に付けるイコールごと入れてしまうのがポイントです。

Sheets("練習").Select
Range("B7").Formula = "=Sum(B1:B5)"

マクロを書く前にエクセルシートに数式を入力して正しい動きをするか確認するのも大切です。それをコピーして" "の中に貼り付ければ、入力ミスを減らすことができます。

完成させて動かしてみよう

「数式入力 1」という名前を付け、マクロを書きましょう。

ボタンにマクロを登録し、保存した後に押してみてください。「練習」シートのセルB7に数式が入り、セル「B1からB5」の数字の合計が出れば成功です!

エラーが出たらチェック! よくある間違い
1 RangeやSelect、Formulaの綴りが間違っている
2 B7が" "(ダブルクォーテーション)で囲まれていない
3 数式が" "(ダブルクォーテーション)で囲まれていない
4 数式に=(イコール)がない
5 SelectやFormulaの前に.(ピリオド)がない

数式内で" "を使う方法

Formulaを使えば、セルに数式を入れるケースにほぼ対処できます。

例外は数式の中に" "で囲まれた文字列が入っている場合です。そのままだと" "が混在するためエラーが出てしまいます。

そのときは数式側の" "を"" ""(二重ダブルクォーテーション)に変更します。

例題としてA1が1であればA4に「〇」そうでなければ A4 に「×」と 出てくるIF関数をマクロで入力しましょう。

エクセル(ワークシート)であれば今回のIF関数は「=If(A1=1, " 〇 " ," × " )」となる

マクロで書くときには次のようになります。二重ダブルクォーテーションに注目してください。

Sheets("練習").Select
Range("A4").Formula = "= If(A1=1, ""○"", ""×"")"

完成させて動かしてみよう

マクロ名は「数式入力2」にし、書いてみましょう。

ボタンにマクロを登録し、保存した後に押してみてください。「練習」シートのセルA4に数式が入り、〇もしくは×が出れば成功です!

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