マクロ(VBA)って何なの?
マクロ(VBA)で何ができるの?
こんな疑問を抱いたことがある方は多いのではないでしょうか?
「マクロ」とか「VBA」という言葉自体は聞いたことがあるけど、それらが何を意味し、何ができるのか知らない人も多いはず。
実際、僕もそうでした。
「興味はあるんだけど、難しそう」という理由から敬遠し続けてきました。
そんな時に、仕事でExcelマクロ(VBA)がどうしても必要になったので、仕方なく独学で勉強を始めました。
勉強を始めてみると、サンプルコードを記載しているサイトはいくらでもあるけど、これから勉強を始める人向けの情報は少なく、何から手を付ければ良いかまったくわからない状態でした。
当時の僕は「もっと初心者向けの情報があれば良いのに」と思いながら勉強していました。
この記事では、マクロ(VBA)とは何なのか?また何ができるのか?
僕が当時知りたかったことをまとめました。
今、「マクロ(VBA)って何なの?」「マクロ(VBA)で何ができるの?」と疑問を抱いている方がマクロ(VBA)について知るきっかけとなれば幸いです!
①マクロとVBA
マクロついて
まずは、「マクロ」について解説します。
よく勘違いされがちですが、「マクロ」=「VBA」というわけではありません。
(↑僕も初め、 「マクロ」=「VBA」 だと思っていました。)
「マクロ」を直訳すると、「巨大な」という意味になるかと思います。
「巨大な」と言われても、言葉の意味からは「マクロ」の本質に辿り着くのは難しそうだなと感じていました。
実際、僕は言葉の意味からある程度どんなものかを想像したいタイプなので、「マクロ」という言葉が本質的に何を意味するのか、理解するまで時間がかかりました。
「マクロ」というワードで検索しても「VBAを使って作成したプログラム」とか、「操作を自動化するための機能」といった解説が出てきて余計に混乱しました。
そもそも「VBA」がわからないし、「操作を自動化するための機能」=「VBA」なんじゃないの?という思いでした。
出足から思い切り躓いてしまいましたが、自分なりに考え、最終的には納得できる答えを導き出すことができました。
前置きが長くなってしまいましたが、僕は「マクロ」を、「操作を自動化するための機能の総称」と捉えています。
「マクロ」という機能の中に「VBA」という手段があるというイメージです。
そう考えると、「マクロ」を直訳した時の「巨大な」という意味も、本質を捉えていたのかなと今では思います。
VBAについて
「VBA」というワードで検索をかけると、Visual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ)というプログラミング言語だという解説が必ず出てくると思います。
正直、そういうことが知りたいわけじゃないですよね。。
もっとこう、一言で答えがほしい。
当時僕は、そんな歯がゆい思いをしていました。
先程、「マクロ」は「操作を自動化するための機能の総称」で、「マクロ」という機能の中に「VBA」という手段があると解説しました。
VBAの解説としてはこの通りなのですが、どういうことか、もう少しかみ砕いて解説します。
VBAを【飲み物】に例えて解説
「マクロ」と「VBA」の関係は、飲み物に例えるとわかりやすいと思います。
例えば、喉が渇いたとき、何か飲み物を飲みたいと思いますよね。
「喉の渇きを潤す」という目的を果たすためには「飲み物」が必要で、「飲み物」にはいろんな種類があります。
お茶とか、スポーツドリンクとか、炭酸飲料とか。
「喉の渇きを潤す」ための「飲み物」が「マクロ」。
「飲み物」の種類である「 お茶・スポーツドリンク・炭酸飲料 」が「VBA」。
と考えるとイメージしやすくなると思います。
飲み物で例えましたが、つまりは「 操作を自動化したい」という目標を達成するための手段が「VBA」です。
僕は、このイメージを持つことで「マクロ」と「VBA」の区別ができるようになりました。
②マクロ(VBA)でできること
操作の自動化
「マクロ(VBA)」でできることと言えば、「操作の自動化」に尽きると思います。
Excelで作業をしていて、毎日必ず行う操作はありませんか?
月次報告書の作成や、管理台帳へのデータ入力など、定期的に決まった操作を行うことがありませんか?
それらの操作を自動で行うことができるのが「マクロ(VBA)」です。
日単位でも、月単位でも良いですが、日々の作業を振り返ってみると、決まった操作を行っているタイミングがいくつかあると思います。
そんな時に「この操作、自動化できないかな?」と考えてみてください。
意外と、自分で想像できることって「マクロ(VBA)」で実現できたりします。
作業の効率化
「マクロ(VBA)」を使うと、「操作を自動化できる」と解説してきました。
操作を自動化できるということは、今までその操作に費やしていた分の時間を他の作業に充てられるということです。
つまり、これまでより作業の効率化を図ることができます。
僕は以前まで、膨大な量のデータをひたすらテキストからExcelにコピペする作業に、毎月8時間くらい費やしていました。
その作業も今では、マクロ(VBA)のおかげで1時間で完了します。
時間がかかる操作ももちろんですが、数分で終わるけど毎日行う必要がある操作にもマクロ(VBA)は効果的です。
まずは、毎日行っている操作をマクロ(VBA)化していくことから始めてみませんか?
③まとめ
「操作を自動化するための機能の総称」
VBAとは、
「 操作を自動化する」という目標を達成するための手段
この記事では、マクロ(VBA)について解説しました。