エクセルの「マクロ」と「VBA」は違うと書かれています。

ググれば、何がどう違うのかも書かれています。

 

しかし、それらを読んでも結局何が言いたいのか
よく分かりませんでした。

 

例えば、
「おむすび」と聞いて
「おにぎりですよね?」と言ったら
「違うよ、おむすびとおにぎりは全然違うよ。」
と言われるぐらい、
何が言いたいのか分からなかった。

そこで、何が違うのかと言う点よりも
違いを認識することでどんなメリットがあるのか
混同するとどんな時に困るのかを考えてみました。

 

本題に入る前に
念のため、言葉の定義は書いておきます。

VBA
Visual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ、VBA)は、主にマイクロソフト製のMicrosoft Officeシリーズに搭載されているプログラミング言語である。

 

マクロ
マクロ言語(マクロげんご)は、マクロを記述するコンピュータ言語である(キー操作をそのまま記録・再現する、いわゆるキーマクロ等のように、言語を持たないマクロ機能もある)。プログラミング言語的な機能を持つものもあれば、持たないものもある。ソフトウェアの制御や自動化にとどまらず、普通のプログラミング言語のような汎用的な処理をすることが可能なものも存在する。また他に、テキスト変換などを記述する変換言語もマクロと呼ばれることが多い。

 

やはり、分かったような分からないような感じなので
私なりに解説してみようと思います。

 

マクロとVBAの違いを認識することでどんなメリットがあるのか

まず、対象が誰なのかをはっきりさせよう。

今回は、マクロやVBAを作る人と使う人の2種類とします。

マクロやVBAを使う人の場合、違いを認識しても特にメリットはないです。

なぜなら、使う人にとっては
やりたい処理が完了するかしないか
と言う点しか関心ありません。

ですので、使う人に
「マクロとVBAは違うんだよ」
なんて言う話は、
食パンにそれほど興味がない人に
「食パン5枚切りと6枚切りは、
 全然違うんだよ。」
と言う話しをするぐらい
クソつまらない話です。

 

では、マクロやVBAを作る人の場合、
違いを認識することでどんなメリットがあるのでしょうか?

例えば、
あなたの好きなカレーで例えてみましょう。

カレーと言えば、インド!
と言うことで、インド人と一緒にカレーを作ることにします。

どのスパイスを使うのか
市販のカレールーを使うのか
玉ねぎはあめ色になるまで炒めるのか
肉は豚肉か牛肉か
人参、ジャガイモの他に何の野菜を入れるか

要は、レシピの確認が必要ですよね。

日本の家庭によっても
レシピってそれぞれですよね。

このレシピが、マクロと言うイメージです。

レシピには順番や分量など
細かく正確に書いておかないと
作る度に違う味になってしまいますよね。

家庭のカレーであれば
それでも良いかも知れませんが、
お店で提供するのであれば
一定のクオリティーを保つ必要がありますよね。

ですので、
マクロは書いた人以外が見ても
どんなレシピか分かる分かり易さ
が重要です。

 

でも、インドの人が日本語が分からなくて
あなたも英語やヒンズー語が苦手な場合
このままではレシピの共有が
難しいですよね。

お互いに理解できる言語があった方が
コミュニケーションはスムーズにできますよね。

このエクセルで使う時のコミュニケーションが、
VBAです。

 

ですので、
「マクロはやったことありますけど、
 VBAは分かりません。」
と言うセリフは

カレーを作るのに
「自己流で作ることはできますが、
 インド人や他の人と協力して
 段取りを確認しながら
 調理することはできません。」
と言っているようなものです。

自宅で自分用のカレーを作るのであれば
問題はないと思いますが、
お店で商品としてカレーを提供するのであれば
これだと困りますよね。
 
レシピの確認をして
役割分担をして
段取りの調整をして
新メニュー開発の時には
相談をして
ってことができるようになるためには、
コミュニケーションが取れる言語(VBA)も
理解して使えるようになった方がいいですね。
 

と言うことで、
VBAとマクロの違いは

①利用する人にとっては、どうでもいい
②使うのが、自分一人だけでいいのであればマクロが分かればいいかも知れない。しかし、他の人も利用するのであればVBAを理解しないとより良いものに改良できない。
 
となりますが、いかがでしょうか。

 

スポンサードリンク