この記事では、エクセルマクロについてまとめています。
エクセルマクロってそもそも何だろう?といったことから、具体的な勉強方法や作り方についても解説しています。
トピックの種類から、「知識編」と「実用編」に分けていますので必要な箇所を参照することができます。
何となく便利だときくけれどどんなものなのか知りたいといった方や、少しでも勉強してみたい・触ってみたいという方の参考になればうれしいです。
知識編
そもそもエクセルマクロって?
エクセルマクロを使うと便利なのだというイメージは既にお持ちかと思いますが、具体的に何なのか?というお話です。
エクセルマクロを一言で表現すると、エクセルで行う処理を自動化できる機能のことです。
エクセルで行う処理をプログラミングすることで、パソコンに任せることができるようになるということです。そのプログラミング言語としてVBA(Visual Basic For Applications)が使用されます。
世の中にはC言語やJAVAなどの色々なプログラミング言語がありますが、VBAはMicrosoft Office製品に特化したプログラミング言語です。
エクセルで行っている作業をVBAというプログラミング言語で命令を記述することで自動化することができます。その自動化した作業のかたまりを「マクロ」と呼んでいるイメージです。
エクセルマクロを使うことで、
- 指定箇所の内容を一括削除するボタンを作成する
- 特定の条件に合うデータを別シートに転記する
- Webから指定のデータを自動で抽出する
など行うことができ、非常に便利です。
この辺りは下記の記事で、具体的なコードや動画とともに解説していますので、是非ご参考下さい。
関連記事:エクセルマクロとは?関数と違う?初心者にも分かりやすく解説!
勉強方法
使いこなすことができると大変便利なエクセルマクロですが、正直なところ本などで独学で勉強するのは簡単ではありません。大きな理由としては、普段からエクセルを使っている方は多いと思いますが、マクロはプログラミングの領域になってくるため概念や用語の理解が難しいからです。
そもそも基本の理解ができていない状態で、エラー対処などを行いながら実務で使えるような本格的なものを作ることができるようになるのはなかなか難しいことは想像ができるかと思います。
では、頭の良い方や理系の方でしか理解することができないかというと決してそんなことはありません。
エクセルマクロは、誰でも理解して使うようになることが可能です。
必要なのは、小難しいことは一旦置いておいてでも、作ってみる・やってみることを繰り返すことができるか?という行動です。まずは小さなプログラムからでいいので、作ってみましょう。
下記の記事で、詳しく解説していますので是非ご参考下さい。お使いのパソコンにエクセルが入っていれば、メッセージボックスを作る簡単なマクロ作成の練習もできます。
関連記事:【結論:手を動かす】エクセルマクロの効果的な勉強方法は?
実用編
マクロの有効化
マクロは設定で有効・無効にすることができ、エクセルマクロを使うにはマクロを有効にしておく必要があります。
なぜ有効・無効などという区別があるのかというと、マクロはプログラムなので、悪意のあるプログラムも存在するので何でもかんでも確認無しに実行してしまうとセキュリティ上、リスクがあるからです。
分かりやすい例で言えば、実行するとウイルスに感染するようなマクロを作っておいて、インターネットで便利なマクロだと嘘をついてダウンロードできるようにしておけば、ダウンロードした人のパソコンをウイルスに感染させることができてしまいます。
そのため、
- マクロ有効(全て実行する)
- マクロ有効(確認してから実行する)
- マクロ無効(実行しない)
といった設定が可能になっています。
基本的には誰が作ったか分からないようなマクロを実行しなければ問題は無いのですが、安全のために最近のエクセルではデフォルトでマクロが無効になっていることが多いです。
エクセルマクロを使いたい場合は、まず設定でマクロを有効にしておきましょう。無効の状態でマクロを実行しようとした場合は、下記のようなエラーが出たりします。
エクセルマクロを有効にする方法は、下記の記事で画像付きでまとめていますのでご参考下さい。
関連記事:エクセルマクロを有効にする方法&有効にならないときの対策
作り方・具体例
基本的な作り方
とりあえずエクセルマクロを触ってみたいという方は基本的な作り方をおさえておきましょう。
まずは「マクロの記録」という機能を使って、マクロで自動化するとはどういうことなのか?イメージをつかんで頂くのが良いかと思います。
画像付きで手順を具体的に解説している記事が下記にありますので、確認しながらやってみて下さい。
家計簿の作り方
家計簿をつけたいだけなら正直なところエクセルマクロを使う必要は無いのですが、エクセルマクロを使うことでより便利な機能を追加することができます。
例えば集計を自動で行ったり、新規のシートを自動で追加したりという機能です。
詳しく知りたい方は、下記の記事をご参考下さい。
関連記事:エクセルで家計簿の作り方を解説!マクロを使う方法も!
請求書の作り方
もちろん請求書もマクロ無しで作ることは可能ですが、フォームを決めておいてマクロで出力するようにしておけば、便利かと思います。
請求書の出力をマクロ化したい、と考えたときに設計から完成までどのように進めていくのかを下記の記事で具体的に解説していますので、参考にしてみて下さい。
本格的なシステムを作る
エクセルマクロを使えば、本格的なシステムを作ることも可能です。
例えば在庫管理のシステムや予約表システムなどです。在庫の入出庫をシステム的に管理できたり、予約を自動化できたら非常に便利ですよね。
しかし、そのようなビジネスで使用するシステムを自分で手作りするというのはおすすめしません。データベースをリアルタイムで管理していくことになるため、相当しっかりとした設計構築が必要となるためです。
作ったシステムに不具合があれば、お客様にご迷惑をかける可能性もあります。
エクセルマクロにこだわらなくても、既存で販売されている便利なシステムもありますので、ビジネスで使用するのであればそのようなものを利用するのがおすすめです。
この辺りは下記の記事で詳しく解説していますので、是非ご参考下さい。
関連記事:エクセルマクロで予約表や在庫管理システムの作り方は?
別シートへの転記
マクロを使った具体的な作業効率化として、よくあるのがデータの転記です。例えばある管理表があって、そのデータを条件で絞り込んだ一部を別シートに転記して抽出したい、などです。
条件の絞り込みには条件分岐(IF)などを使わないとならないのですが、とりあえずただ転記するのであればVBAのコードとしてはそれほど難しくありません。
下記のように非常なシンプルなコードで転記が可能です。
Range("B5") = Range("B2")
さらにシートを指定したり繰り返し処理なども必要になってきますので、具体的には下記の記事で解説しています。
関連記事:これで簡単!エクセルマクロで別シートに転記する方法
マクロが急に使えなくなった場合の対応
最後に、エクセルマクロが急に使えなくなった場合です。
今まで使えていたエクセルマクロが急に使えなくなった場合、いくつかの原因が考えられます。
例えば、
考えられる原因
- マクロが無効になっている
- 拡張子が.xlsmになっていない
- プログラムに不具合がある
などです。
エラーの内容や状況によって対応が異なってきますので、下記の記事などを参考にしてトライしてみてください。
関連記事:エクセルマクロが急に使えなくなった!そんなときの対処法