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

Photo: Adobe Stock

マクロの使い勝手が劇的に上がる「終端セル」

今回は終端セルを選択する方法を学んでいきます。

終端セルとは、あるデータの端(データの切れ目)のセルを指します。例えば次のようなデータがあったとしましょう。セル A1 から H10 までの一部に空白があります。このデータの終端セルはどこでしょうか?

終端セルはデータが入っている部分と入っていない部分の切れ目部分なので、次のように考えます。

(1) A1から下に見ていった終端セルはA10
(2) C1から下に見ていった終端セルはC4
(3) B11から上に見ていった終端セルはB10
(4) E11から上に見ていった終端セルはE8

終端セル選択マクロを使う場面

「終端セルはどうやって使うのか?」と疑問を持った方もいるのではないでしょうか。

確かに使いどころがイメージしづらいかもしれません。

終端セルを最も使うのは、データの末尾行のセルにカーソルを合わせたいケースです。「Rangeを使ってセルを指定したいが、処理すべきデータの行数が毎回変わるので指定できない」場合に有効です。

終端セル選択マクロの書き方

終端セルを選択するマクロを書いてみましょう。データに混ざっている空白に注意する必要があります。データの上から下に向けて終端セルを見つけ出そうとすると、空白の手前を終端セルと認識してしまいます。終端セルを示した先ほどの図の C 列を見てください。上から終端を探させるとセル C4を選択してしまうことになります。本当に選択したいのはセル C10 です。

そこで必ずデータが埋まっていると確信できる列(データの一番左に ある通し番号を入れる列など)を選んで下から上にデータの切れ目を探すと、ミスが起こりにくくなります。ここでは B 列のデータが 10 万行を超えないと想定してマクロを書きます。「練習」シートでセル B10 を選択しましょう。

次のように書きます。

Range("B100000").End(xlUp).Select

まず Range("B100000") でセル B100000 を選択します。そこから End(xlUp) によって上がっていき、はじめてデータが入っているセルを選択するという動きです。

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

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

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

エラーが出たらチェック! よくある間違い
1 RangeやSelectの綴りが間違っている
2 B100000が""(ダブルクォーテーション)で囲まれていない
3 EndやSelectの前に.(ピリオド)がない
4 End(xlUp)の綴りが間違っている(xの後は小文字のl〔エル〕です)

応用編

ここではあるセルから上へと探していく End(xlUp) を使いました。このマクロは End の後の( )の中を変えれば、上下左右どの方向へも 探すことができます。

End(xlUp):上へ見ていったときの切れ目
End(xlDown):下へ見ていったときの切れ目
End(xlToRight):右へ見ていったときの切れ目
End(xlToLeft):左へ見ていったときの切れ目

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