エクセルマクロの挫折しない勉強法や仕事で使いこなすコツを徹底解説!
講師の寺澤さんはこれまでの20年間マクロを使って様々な業務を効率化させるなど、数多くの社内表彰を受けてきました。例えば、数十万行の元データから分析用データを毎週作成する作業。人の手だと1週間かけても終わらない作業ですが、マクロを使うと30分程で完成してしまいます。さらに自ら社内講座も主催、全くマクロを触ったことがない数百人を指導し、満足度98%と人気を博しています。近著『4時間のエクセル仕事は20秒で終わる』では、そのエッセンスを余すところなく紹介しています。
本連載では、エクセルマクロを仕事で使うための本当に必要な知識だけを、できるだけわかりやすく説明していきます。
「シートごとコピー」でコピペが超効率化する
複数のエクセルファイルを開き、その間でデータをコピペする機会は多いのではないでしょうか。他のエクセルファイルを開き、データを持ってくるマクロを学びます。
2つ以上のエクセルファイルを使って作業をするときは、シートごとコピーするのが効率的です。後の作業がすべて1つのエクセルファイル内で完結するからです。処理のたびにマクロでファイルを指定する必要がなくなります。
まず他のエクセルファイルからシートをコピーするにはどうしたらよいか考えてみましょう。やりたいことを図にまとめます。
マクロで他のエクセルファイルを開くには、次のような手順で処理を行います。
① コピー元のファイル(コピーしたいデータがあるファイル)を選択
② 選択したファイルを開く
③ コピー元ファイルのシートをコピーし、コピー先ファイル(データをコピーして持っていく先のファイル)にペースト
④ コピー元ファイルを閉じる
マクロが組まれているコピー先ファイルにシートごとデータが来てしまえば、1つのファイル内だけで動くマクロで対応できます。
必要な変数
変数は3つ準備しておく必要があります。それぞれa、b_path、bとしましょう。
aにはマクロが作ってあるコピー先のファイル名を入れます。コピーしたシートのペースト先を指定する③で使います。
b_pathにはコピー元ファイルの「パス」を入れます。パスとは「どのフォルダに入っている何というファイルか」を示すファイルの住所のようなものです。ファイルの階層を表します。(例: C:¥Users¥UserName¥Desktop¥コピー元.xlsm)これは元ファイルを開く①で使います。
bにはコピー元ファイルの名前を入れます。ファイルを閉じる④の作業で使います。
「コピー元ファイルの情報がなぜパスとファイル名の2つ必要なのか?」と思った方もいるでしょう。それにはパソコンでファイルを保存したり開いたりするときのルールが関係しています。
1つ目のルールは「違うフォルダであれば、同じ名前のファイルを複数作れる」です。これによって、マクロはファイル名だけではどのファイルを開くか確定できません。ファイルを開く場合は「○○というフォルダにある」という情報を含んだパスから指定する必要があります。
2つ目のルールは「同じ名前のファイルは、別フォルダにあったとしても同時に開けない」です。
ですから一度ファイルを開いた後はファイル名を利用して操作するファイルを切り替えます。
(本稿は、寺澤伸洋著『4時間のエクセル仕事は20秒で終わる』を抜粋、再構成したものです)
寺澤伸洋(てらさわ・のぶひろ)
1976年、大阪府生まれ。灘高校、東京大学経済学部卒業後、日系メーカーで17年間勤務。経理や営業、マーケティング、経営企画などに携わり、独学で覚えたエクセルマクロを用いて様々な分析や業務改革を行う。2017年、GAFAの日本法人のうちの1社へシニアマネージャー(部長)として転職。これまでエクセルマクロを用いた業務改善などで数多くの社内表彰を受けている。手作業では不可能なほど大量のデータを、短時間で分析しやすく加工したことが評価され、社内エクセルマクロ講習会の講師として延べ200人以上に講座を実施。エクセルマクロについて1から10まで教える詰め込み型の学習ではなく、仕事に必要な部分だけを効率的に学べる講座として満足度98%の高い評価を受けている。