今回はマクロとVBAの違いについてお話しします。
マクロとVBAの違いとは?
マクロとはコンピュータの操作を自動化するための技術のことを指します。
自動化を搭載した製品は多く、その機能自体のことをマクロ機能と呼びます。
VBAはマイクロソフト社が提供しているプログラム言語の名称となっています。
コンピューターの自動化機能全般を指す言葉であるマクロと、
マイクロソフト社の提供するプログラミング言語であるVBAは全くの別物といえるでしょう。
ただし用途が似ているので混同されることもあります。
マクロとVBAはどちらも表計算ソフトでお馴染みですが、実は似ているようで全くことなる機能です。
マクロは操作を記録するもので、同じ操作を繰り返す場合に役立つ機能のことです。
毎回同じ操作が必要になる時は、マクロに記録して残しておくと、次回からの手間が省けます。
一方のVBAはプログラムの一種で、特定の条件に応じて処理を切り替える、といった使い方をします。
技術的にはマクロよりも高度ですが、使いこなせばさらに作業が楽になります。
マクロは処理手順の記録・実行
マクロ機能を用意するにはまず「開発」というタブを作成する必要があります。
「開発」タブを選択すると「マクロの記録」という項目が表示されます。ここに名前を入力していきます。
その後OKをクリックすると記録が開始されます。
この間に動かした操作が記録され、実行するとその通りに動くことになります。
操作を終えたら記録終了をクリックします。
実行したい場合はそのまま「実行」という項目をクリックするだけで簡単におこなえます。
マクロの処理は記録と実行が中心で、手順の記録が完了したら、後は実行するだけで同じ内容が再現されます。
手動操作をする前に記録を始め、実行したい処理まで操作を終えたら記録を止める、
この手順でマクロが作成できます。
VBAはマクロを実現するプログラミング言語
VBAはマクロを実現するために重要となるプログラミング言語です。
例えばエクセルを操作する際にマクロの記録と実行を行っていれば、
それは知らず知らずのうちにVBAを利用していることになります。
エクセルはマイクロソフト社が生み出したソフトなので、
マイクロソフト社のプログラミング言語が活用されています。
マクロがコンピューター上の実際の動きで記録するのに対し、
VBAはプログラミングを行うことで記録するという違いがあります。
VBAは、いわばマクロを手動で実現するような機能で、高度な操作さえも再現してしまうプログラム言語です。
プログラム言語なので、習得にはそれなりの学習コストが発生しますが、
マクロでは難しい処理も行えるようになります。
エクセルのマクロ記録とは
エクセルではマクロ記録を活用することが出来ます。
タブの中から「開発」を選ぶと簡単に記録することが出来ます。
しかし、初期設定のエクセルの場合は「開発」という項目自体がありません。
そこでオプションから「開発」を追加する必要があります。
追加さえしておければいつでもマクロ記録、実行を行うことが出来るので便利です。
実際の操作を記録することが出来るので難しい入力などを行わなくても問題はありません。
同じ作業を繰り返すときに役立ちます。
エクセルのマクロ記録は、一般的にいうマクロを見事に再現しているものです。
つまり、並べ替えや抽出といった手間の掛かる操作が、二回目からはボタンを押すのみと簡略化できるわけです。
特に、エクセルでは並べ替え操作をする機会が多いですから、予め作成して用意すると非常に便利です。
違いが分かったらコードは書けるのか
マクロとVBAの違いが分かるとVBAの仕組みを理解したことになります。
しかし、そこからはプログラミングの書き方を覚えなければならないので
即座にコードを書けるということではありません。
ただ、マクロとVBAの違いが分かれば、コードの入力までの道は開けていけます。
マクロ記録とコードの確認を繰り返すことで法則性が見えてくることになります。
そこまで分かったらあとは入力の方法を覚えていくことで書けるようになる可能性が高いです。
マクロとVBAの違いが分かっても、直ぐにコードが書けるわけではなく、マクロ以上の学習が必要となります。
VBAはエクセル専用ではなく、独自に発展したプログラム言語なので、習得には相応の時間や労力が問われます。
しかし、普段の操作を頭の中で整理できたり、処理の内容を想像することが可能であれば、
早く習得できる可能性があるといえます。
それはプログラマーの素質を意味していて、コツが掴めたりスムーズに学習できることでもあります。