エクセルマクロとVBAの違いとメリットデメリットとは

視力回復した人が開発した強度近視を治す方法

視力回復した人が開発した強度近視を治す方法

こんにちは!

今回はエクセルのマクロ機能とVBAの違いについてです。

マクロとVBAの違いがわからずに、同じような意味で使っている人がけっこういます。

プログラムの知識がない人でも、マクロは作業を自動化できる便利な機能だと知っている人は多いのですが、VBAは何のためにあるのか、マクロと何が違うのかを知っている人は少ないようです。

レクタングル大336×280

エクセルのマクロとは

まずマクロとは何か?

それは複数の作業をまとめてボタン一発でできる機能です。

全自動洗濯機を思い浮かべると分かりやすいと思います。

洗い→すすぎ→脱水→乾燥

という4つの作業がありますが、「スタート」というボタンを1回押すだけで全ての作業を自動でやってくれますよね?

知らないかたもいるかもしれませんが、昔の洗濯機は洗いは洗いのボタン、脱水は脱水機に移す、などそれぞれの作業を一つずつやっていたのです。

ですが、それでは面倒なので、全ての作業をまとめて一つのボタンでできるようにしたのが、全自動洗濯機です。

これをマクロに置き換えてみます。

例えば

セルに網掛けをする→文字を太くする→罫線を引く→印刷する

という4つの作業があったとします。

この作業を1回だけやるなら苦労はしないかもしれません。

でも何回も同じ作業をやらなければいけないとしたら、4つの作業をボタン1発でできればものすごくラクになりますよね?

そのことを可能にするのがマクロなんです。

マクロを作れば、複数の作業をボタン1つにまとめることができます。

じゃあどうすればマクロを作れるのか?

これはものすごく簡単です。

  1. マクロの記録ボタンを押す
  2. 自動化したい複数の作業を自分でやる
  3. マクロの終了ボタンを押す

これだけです。

そうするとマクロが保存されます。あとは使うときにそのマクロを呼び出すだけです。

このように複数の作業をボタン1発でできるようになれば、ものすごく時間短縮になります。

こんなに便利なのに、マクロはプログラムの知識がない初心者でも簡単に作ることができます。

VBAとは

VBAとはVisual Basic for Applicationsの略で、Visual Basicというプログラミング言語をマイクロソフトのアプリケーションで使えるように改良されたものです。

つまりプログラミング言語のひとつということですね。

VBAでプログラムを書けば、今まで手作業でやっていたことを自動化することができます。

「あれ?でもマクロを使えば自動化できるよね?VBAを使ってわざわざプグラミングする必要なんてあるの?」

と思ったかもしれません。

確かにそうですよね。私もはじめはそう思いました。

ここで先ほどの洗濯機の例を思い出してみてください。

洗い→すすぎ→脱水→乾燥

この4つの作業を1つにまとめるだけならマクロで十分です。

でももしこんな要望がでたらどうでしょう?

「洗剤が入っていなかったら洗いを飛ばしてすすぎから始めるようにする」

こうなると、洗いはじめるときに、洗剤が入っているか入っていないかを確認する処理が必要になってきます。そしてその結果によって、次の処理が変わるわけです。

このようなわがままな要望に応えるにはVBAを使うしかないのです。

マクロでは複雑な処理をすることができないからです。

自分だけ使うなら、マクロだけでも何とかなることもあります。

実際に職場で複数の人が使うとなると、マクロだけでは対応しきれないことが多いです。

みんなが同じような操作で使えるソフトにしなければいけないし、それぞれの要望などがあったりするからです。

反対に考えれば、VBAを使えば、それぞれの要望を取り入れた、みんなが使いやすいソフトを開発できるということですよね。

私はエクセルやアクセスのVBAを使って、業務効率化のソフトを開発していました。

その時の経験から言うと、エクセルのVBAだけでも、一般的な事務ならほとんどの作業が自動化できると思います。

もっと踏み込んで、SQLサーバーと連携して、データベースの管理をするとかそんなこともできます。

アクセスのVBAを使えば、アクセスだけで、在庫管理、顧客管理、販売管理などのソフトが作れます。

さいごに

簡単な作業を自動化する→マクロ

複雑な作業を自動化する→VBA

自分だけで使う→マクロ

複数の人が使う→VBA

って感じですね。

実はマクロ作ると、VBAが裏で動いて、プログラムを自動で書いてくれます。

そのマクロが書いたプログラムを、VBAを使って自分で改良していくという使いかたもします。

なので、業務効率化のソフトを作りたいのであれば、まずはマクロを使ってみる。

そして、マクロが書いたプログラムを見て、少しずつ自分のやりたい処理をVBAで書いていく。

そういう使い方がおすすめです。

ぜひ試してみてください。

最後までお読みいただきありがとうございました。

レクタングル大336×280
レクタングル大336×280

シェアする

  • このエントリーをはてなブックマークに追加

フォローする