エクセルマクロは使えるようになれば非常に便利ですが、どのように勉強すれば良いのかは難しいところです。
本屋さんに行けば関連書籍はたくさんありますが、エクセルの分野ではありますがプログラミングの領域になるため、簡単に理解できる方は少ないのが実際の所です。
さらに、何となく分かったとしても実務で使いこなせるようなレベルになるのにはまた一段とハードルが高くなります。
結論としてはとにかく手を動かして作ることが最速の勉強方法となりますが、詳しく解説していきます。
エクセルマクロについては、下記にまとめた記事もあります!
【まとめ記事】エクセルマクロのすべて!マクロとは?から作り方まで
そもそもエクセルマクロとは?
エクセルマクロの勉強方法を解説する前に、そもそもエクセルマクロを使うとどんなことができるのか?ということについて確認をしておきましょう。
一言でいうと、エクセルマクロを使えば作業の自動化をすることができます。システムやゲームを作ったりということも含めると本当に色々なことができてしまうのですが、実務で担当者が使うとなると、作業を自動化し仕事を効率化できるというのが一番のメリットになってくるかと思います。
特に、繰り返し作業・決められた作業といったものはマクロを使って効率化しやすいものになります。
マクロで効率化しやすいタスクの例
- データを転記する作業
- 手順やルールが決まっている作業
- 大量のデータを扱う作業
手順やルールを言語化してマクロ化してしまえば、データが膨大であっても一瞬で処理できてしまいます。私の経験でも、2人がかりで1日かかっていた作業をマクロ化することで、1人で1時間程度で終わるようになったということがありました。
エクセルマクロがどのようなものか?については下記の記事で詳しく解説していますので参考にしてみて下さい。
【関連記事】エクセルマクロとは?関数と違う?初心者にも分かりやすく解説
エクセルマクロを本で勉強するのが難しい理由
うまく使えば非常に便利なエクセルマクロですが、全く知識0の状態から勉強するのはなかなかハードルが高いのが実情です。
勉強するための材料としては、本や動画など様々なものがありますが正直な所、システム系の知識をもっていない状態から独学で勉強をして、実務レベルでエクセルマクロを使えるようになったという方に会ったことがありません。
理由としては大きく3つあります。
エクセルマクロの勉強が難しい理由
- 概念の理解が難しい
- エラー対処が難しい
- 実務レベルで使うことが難しい
それぞれについて、簡単に解説していきたいと思います。
概念の理解が難しい
エクセルマクロでやっていることを誤解を恐れずに一言で言うと、プログラミングです。「マクロの記録」を使えばコードを記述せず自動化することもできますが、本格的なマクロを組もうと思うと限界があります。
プログラミングである限り、どうしても日常で触れないような概念や用語の理解が必要になってきます。例えばエクセルマクロの入門書を開けば、
- オブジェクト
- メソッド
- プロパティ
など色々な用語が出てきます。この辺りは何となくの概念だけでも分かると進めていきやすいのですが、サッパリ分からないという状態だと理解が追い付かず、本の内容もどんどん分からなくなってしまい、挫折してしまうことになります。
エラー対処が難しい
プログラムを組んで実行すると、エラーの発生はつきものです。これはエクセルマクロも例外ではありません。
本の通りにやってみてもエラーが出てしまう、何かがおかしいと思われるけれど何がおかしいのか突き止めることができない、などといったことがレベルが上がるにつれ頻繁に発生します。
エラーで表示される文言を検索したりデバッグして原因を特定する、といった地道な作業が必要になってきますが、勉強している段階では自力でエラーを解消するというのはハードルが高い方が多いでしょう。
また、エラーが出ないけれど動作がおかしいという場合もやっかいで、何がおかしいのかを調べて修正しなければなりません。エラーが出ないので、調べる手がかりがないわけですから原因の特定には非常に時間がかかってしまいます。
このようなことから、マクロを組んでみたものの、うまく動作せず学習をやめてしまったということになってしまいます。
実務レベルで使うことが難しい
エクセルマクロの勉強で挫折しやすい一番の理由がこちらではないでしょうか。
本の通りにマクロを組んでみて動作もした・・・それで?となってしまうということです。
重要なのは仕事の効率化であり、エクセルマクロを覚えることではない方が大半のはずです。しかし、少し勉強したからといってご自身の携わっている業務を実際に効率化できる程のスキルを身につけるのはなかなか難しいものです。
なぜかと言いますと仕事を効率化するためには、プログラミングの技術ではなく「ここをこうすれば効率化できるのではないか?」と発想できることが必要だからです。
エクセルマクロを使っても効率化できる仕事とそうでない仕事があります。
そもそもエクセルを使っていない仕事ですと難しいですし、「データを転記する」と明確に決まっている仕事なら分かりやすいですが、実際には例外的な部分を人が判断していたり様々なルールが存在していたりします。
そのようなルールも含め仕事を言語化し、効率化できそうな部分をマクロ化するということが必要になりますが、
- 仕事内容の理解
- 設計、コーディング、エラー対応等も含めたエクセルマクロの技術
- (複数人で行う仕事であれば)関係者への説明
が必要になります。単純にマクロの組み方を知っていればいい、というわけではないことが分かるかと思います。
ここまで勉強が難しい理由を並べてきましたが、現実的にエクセルマクロはどうやって勉強すればいいのか?ということについて解説していきます。
【実践】今すぐ手を動かして勉強しよう!
エクセルマクロを勉強するためには、とにかく手を動かすことです。細かい概念とか用語はまずは置いて、何でもいいので作ってみましょう。
1つの簡単な練習として、メッセージボックスを表示してみてほしいのですが事前準備が必要です。です。
まず、空のエクセルファイルを開いて「開発」タブが表示されているかを確認して下さい。
※「開発」タブが表示されていない場合は、以下の手順で表示させましょう。
「開発」タブの表示方法
1.「ファイル」タブをクリックする
2.「その他」から「オプション」をクリックする
3.「リボンのユーザー設定」をクリックすると右側のボックスに「開発」という項目があるのでそこにチェックを入れる
4.「開発」タブが表示される
メッセージボックスの表示
「開発」タブが表示されたら、メッセージボックスを表示させるマクロを組んでみましょう。
まず、「開発」タブをクリックして、一番左にある「Visual Basic」をクリックしましょう。
「Microsoft Visual Basic for Applications」という画面が開かれますので、下記のように右クリックして「挿入」→「標準モジュール」と選択して下さい。
右側に大きな余白のような白い部分ができますので、こちらに下記のコードを書きましょう(コピペしてもOKです)
Sub test()
MsgBox "こんにちは"
End Sub
コードが記述できたら、上にある再生ボタンをクリックしましょう。
下記のようなボックスが表示された場合は「実行」をクリックします。
「こんにちは」というメッセージボックスが出れば成功です!
とにかく手を動かして作ってみよう!
メッセージボックスを出すマクロをうまく作ることができましたでしょうか?
中身は1行だけの簡単なものですが、立派なプログラムです。これを「test」というサブプロシージャを作成し、MsgBox関数を使って引数に~を・・・というように考えるとなんだか難しくなってしまいますよね。
まずは用語や概念は置いておいて、「勉強する」ことよりも「作る」ことをやってみましょう。自分で調べながら作ることを繰り返すことで、小さな興味がだんだん大きくなっていき、実務でも使えるレベルのスキルとなっていくのです。