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

セルの「相対参照」をマスターして、Excelマクロでできる作業の幅を広げようPhoto: Adobe Stock

今回は相対参照でセルを選択するマクロを学びます。

これは「A1から1つ右のセル」のように、基準となるセルを定め、それを元に他のセルを表すことです。前回学んだ終端セルの選択と組み合わせることで「B列に新しい列を挿入して、セルB1にIF関数やVLOOKUP関数を入れ、そのセルをデータの一番下までドラッグで引っ張ってコピーする......」という操作がマクロでできるようになります。

それでは早速、相対参照でのセル選択を学んでいきましょう。「練習」シートのセル E3 を基準とします。そこから「下に2、右に5」動いたセル J5 を選択してみましょう。

セルの「相対参照」をマスターして、Excelマクロでできる作業の幅を広げようCellsと似ていますが、出発セルを含めずにカウントします

この場合は「Offset」を用います。

Range("E3").Offset(2, 5).Select

Offset(2, 5)の2と5という数字は、Cellsと似た意味合いです。まずは下、次に右に進みます。ただし Cells は出発セルを含めてカウントしますが、Offset は出発セルを含めずにカウントするので注意してください。

Offset(2, 5)の数字は下と右に動かす場合が正の数です。「上に2、左に5」動かしたい場合は負の数にしてOffset(-2, -5)と書きます。

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

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

セルの「相対参照」をマスターして、Excelマクロでできる作業の幅を広げよう

ボタンにマクロを登録し、保存した後に押してみてください。「練習」シートのセル J5 を選択していれば成功です!

エラーが出たらチェック! よくある間違い
1 RangeやSelect、Offsetの綴りが間違っている
2 OffsetやSelectの前に.(ピリオド)がない
3 Offsetの2と5の数字が逆になっている(G8が選択される)

次回は、実際に終端セルと相対参照を組み合わせてセル選択をする方法を学んでいきます。

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

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

セルの「相対参照」をマスターして、Excelマクロでできる作業の幅を広げよう

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