マクロ、バッチ、VBAってどう違うのか?

マクロ、バッチ、VBAってどう違うのか?

「マクロ」や「バッチ」や「VBA」ってよく聞くけど具体的に何が出来て何が違うの?といった
疑問をこの記事で少しでも解消できればと思います!

マクロ、バッチ、VBAってなに?

まずは「マクロ」についてです。
マクロとはコンピュータの複数の操作をまとめて必要に応じて呼び出せるようにする機能を指し、自動化を搭載した製品は多く、その機能自体のことをマクロ機能と呼びます。

「VBA」とは「Visual Basic for Applications」の略称でマイクロソフト社が提供しているプログラム言語の名称であり「マクロ」を実現するために重要となるプログラミング言語です。

つまりマクロは便利な機能、VBAはそれを実現するための部品と考えれば良いでしょう

「バッチ」とはWindows環境で実行できるコマンド列を記述したテキストファイルのことを指す場合が多いです拡張子が「.bat」であるため、BATファイルとも呼ばれます。
バッチ処理とは複数のコマンドを順次実行することを指します。

マクロやバッチはプログラム出来ないと使えないの?

マクロはプログラミングが出来なくても使用できますがバッチの作成はプログラミング技術が必要になります。
マクロを使用する際にExcelで行いたい処理を記録して実行することが出来るのです。
Excelの開発タブから「マクロの記録」を押下して名前等を入力後記録したい作業を行い「マクロの記録終了」を押下するまでの処理が記録されます。
実行する際は同じ開発タブ内から「マクロ」ボタンを押下し実行したいマクロを選択すると記録している処理が実行されます。

マクロとは違い「バッチ」は一度バッチファイルを登録しておけば手間をかけずに実行できる点がメリットですがバッチファイルを作成するのにRubyやPythonといったスクリプト言語が用いられます。

バッチ処理とは複数のコマンドを順次実行することを指します。
つまり、バッチファイルに上からコマンドを書いていけば、その順番で実行してくれるのです。
バッチファイルの操作はコマンドプロンプトで行うため、マウスを利用した処理は不可能ですが逆にマウスを使わないのであれば大抵の処理は実現します。

作業をしたり調べ物をしているとよく出会う「マクロ」や「バッチ」や「VBA」ですが調べてみると全くの別物という事がわかります。
何かの処理をしてくれるものとして括られがちですが、そもそもがMicrosoftの提供であったりWindows環境での実行コマンドの話なのでまずどこで動くものなのか、を考えるだけでどうすればいいのか見えてくるのではないかなと思います。