ExcelやAccessにはマクロとVBAという似たような機能が搭載されていますが「この違いは?」と聞かれた時に意外と答えられない人が多いそうです。
なので今回はこの2つの機能の違いについてご紹介します。
まず違いについて単語の意味を考えると
マクロ・・・繰り返し行っている人的操作を自動化する機能
VBA・・・プログラミング言語
となります。
これを聞いたときに「じゃあVBAで作成した命令文を実行する機能がマクロってこと?」となると思いますが、間違いではないですが微妙に違います。
マクロを自動化機能として言っていれば間違いではないですが、大体の人はマクロと言えば「マクロの記録」機能のことを指しており、このマクロの記録の場合は「
毎回同じ操作」を行うものとして扱うものですが、VBAは「
特定の条件に応じて処理を切り替える」ということなどいろいろな動作ができるのです。
例えば
マクロの記録の場合”A1セルに記述されている「10」の数値をB1にコピーする”という動作を記録するとします。その場合その動作「のみ」しかできません。
これをVBAにすると”A1セルに記述されている数値が5以上だったらB1にコピー、それ以外だったらB2にコピー”という動作を指示することなどができるのです。
これはマクロの記録にはできません。
長々と説明しましたが、VBAはマクロの上位互換という認識でいれば大丈夫だと思います。
補足
人によってマクロの考え方が自動化を言っているかマクロの記録のことを言っているか違うので説明する場合には注意です。
引用元URL
https://pcacademy.jp/vba_01_2019