こんにちは、タニーです。エクセルのVBAをバリバリ使いこなせるのってちょっとマニアックな感じがするものの、憧れますよね。実際、VBAが使えるようになると仕事も楽に進められるようになります。

でもそもそもエクセルのマクロとVBAって違いが分かりにくいですよね。ぼくは初めて触りだした頃、違いが分からずに先輩からバカにされていました。

ぼくぼく

すみません、エクセルの指導処理をマクロで作っていただけないですか?

イヤミな先輩イヤミな先輩

マクロで作る?俺はVBAでなら作れるけどマクロで作るのは出来ん。

ぼくぼく

?エクセルでプログラミングして機能追加するマクロなんですけど…

イヤミな先輩イヤミな先輩

俺はVBAしか出来ないからマクロで作ってもらいたかったら別の人に頼めよ。

ぼくぼく

いや、でも○○さんはマクロに詳しくて作ってくれるって聞いたんですけど。

イヤミな先輩イヤミな先輩

俺はVBAしか使えないから。

実際ぼくはこのようなやり取りをして結局何もしてもらえなかったという経験があります。

違いが分かる人から見たら確かにこの会話は変かもしれませんが、相手が間違っているのなら会話の内容から察してくれよと思います。

ただ、世の中このように相手をバカにする人もいますので、その違いを抑えていた方が会話が楽に進みます。

マクロとVBAの違い

一言で言えば、マクロとは「複雑な操作を自動にしてくれる機能の総称」です。先ほどのぼくと先輩の会話の中で、「マクロで作る」というところが間違っています。正しくは「マクロを作る」になります。

一方、VBAとは「マクロを実現させるためのプログラミング言語の1つ」になります。先ほどの会話だと「VBAで作る」と言えば通じたのでしょう。要はマクロを作成するためのツールとも言えます。

マクロは動作を自動化することの機能の名称ですので、エクセルなどのMicrosoft製品以外でも使います。

フリーでインストールできるテキストエディタの中にもマクロが使えるものがあります。

しかし、VBAはそのテキストエディタで使えるかどうかは分かりません。そのテキストエディタがサポートしているプログラミング言語を使う必要があるからです。

エクセルのマクロ記録とは

それではエクセルで使えるマクロ記録とは何が出来上がるのでしょうか。「一連の動作をVBAで記述したマクロ」が作られます。そのため、VBAという言語を使ったプログラミングがマクロの中に書き込まれています。

「エクセルのマクロは使えるけどVBAは分からない」と言うと鼻で笑ってくる人がいますが、マクロとVBAを理解していなくて言ってることが矛盾しているため笑っているのです。

違いが分かったらコードは書けるのか

それではマクロとVBAの違いが分かれば、ソースコードが理解できたり書けたりするのでしょうか。答えはノーです。そのため、この違いを知る意味はほとんどありません。

それではメリットって何なんでしょうか。ぼくの考えるメリットは2つあります。

間違いを指摘されてドヤられるのを防ぐ

いますよね、人の間違いを指摘してドヤ顔する人。そんな人と話をしたく無いものの、聞くならその人しかいないって時になるべく不愉快な思いをしたくないですよね。そんな時になるべく不快にならないように予防線を張ることができます。

ググる時に情報が出やすい

正しいキーワードで検索することが出来れば、正しい情報を得やすかったりたくさん表示できたりします。特にマクロのように他のソフトでも同じ名称が使われているものだと、検索結果が本当にMicrosoft製品なのか分からない時があります。

表示された情報を見て、その通りに実行しても上手くいかず、よく見てみると全く別のソフトのマクロだったなんてなると時間の無駄です。そういった意味で、正しい名称を抑えておくといろいろ便利です。

まとめ

マクロとVBAの違いを知っておいて損することはありません。暗記する必要は全くありませんが、何となく違いを理解しておくだけで効率が良くなります。

このマクロを使いこなすことができれば、仕事の効率がめちゃくちゃ上がります。詳しい使い方などは今後増やしていく予定です。

スポンサーリンク