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

Photo: Adobe Stock

変数を設定して利用する方法

今回は、マクロ内で変数を利用する手順を学んでいきます。

変数を利用するには、マクロの中で「この文字が変数です!」と宣言する必要があります。それには「Dim 変数名」を使います。今回はkという1文字の変数を宣言します。

「練習」シートのセルA1には1000とkを、A2には1200とk、A3には10000とkをかけた計算結果を表示させます。下の図のようになります。

まず変数を宣言します。変数が何を表しているのか、横にコメントで説明を残しておきましょう。【Shift】+【7】で’(アポストロフィ)を付けると、同じ行の以後はコメントになり、プログラムからは無視されます。特に変数がいくつも出てくる場合は、わかりやすさを重視しましょう。

Dim k ’税率

変数に値を入れるには「=」を使います。

k = 1.08

変数を使って計算したいときは、数字や演算記号と同じようにそのまま数式に入れ込みます。

Sheets("練習").Select
Range("A1") = 1000 * k
Range("A2") = 1200 * k
Range("A3") = 10000 * k

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

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

ボタンにマクロを登録し、保存した後に押してみてください。「練習」シートのセル「A1からA3」に計算結果が入れば成功です!

エラーが出たらチェック!よくある間違い

1 RangeやSelect、Dimの綴りが間違っている
2 セルが" "(ダブルクォーテーション)で囲まれていない
3 宣言した変数と違う文字を使っている

データ型の指定方法

前回、変数はバリアント型を指定すればよいというお話をしました。正式に変数の宣言をするには「Dim k As Variant」のように書きます。「As」以降に型の名前を入れ、指定するのです。この部分を省略するとすべてバリアント型の変数だと認識されます。効率化のために、僕はいつも省略しています。

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