Skip to content

マクロとVBAのちがい

ここでは「マクロ」と「VBA」の違いについて説明します。マクロやVBAは「いくつかの処理を自動で実行するプログラムを作成する」という点では似ていますが、開発の容易さや、自動化できる範囲等に違いがあります。

ポイント

・ExcelやAccessのマクロ記録はVBAで記録される。
・マクロではアプリケーション内の操作しか記録できない。
・VBAではアプリケーションの範囲を超えた制御を行うことができる。


マクロとVBAの違い

マクロとは「コンピュータの操作を自動化する機能」のことを指します。そのため、Microsoft Office以外のソフトウェアでも同じ「マクロ」というキーワードが使われています。

マクロ記録

Excelにはマクロ記録という機能があり、実際に業務で使ったことがいるかもしれません。マクロ記録を使うと、Excel内の操作を記録することができ、同じ操作を何度でも再現することができます。マクロ記録では、記録された内容がVBAでコード記述されます。

Vba

VBA(Visual Basic for Applications)はMicrosoft Office製品で使用できるプログラミング言語を指します。VBAはMicrosoft Officeに搭載されている拡張機能のため、Excelだけでなく、AccessやWord、PowerPoint、Outlookなどでも使うことができます。またMicrosoft Officeの操作だけでなく、Windowsの機能を利用した制御を行うこともできます。


VBAと似た用語

VBAと似たプログラミング言語にVBSやVB.NETがあります。

Memo

・VBA
VBAはMicrosoft Officeのアプリ内で実行することを目的としているため、単独で動作する実行形式のファイルを作成できません。Microsoft Officeで使用できる「VBE」で開発することができます。

・VBS - Visual Basic Script
VBSは動的なWebページを生成する目的で作成された言語で文法はVBAに似ています。Windowsのメモ帳等で開発することができ、MicrosoftOffice製品がなくても利用することができるため、VBAの次のステップで学んでみてもいいかもしれません。

・VB.NET - Visual Basic .NET
BAにおけるOfficeアプリは不要で、単独でアプリとしてコンパイルして実行ファイル(.exe)を生成、DLL(.dllのライブラリ)を作成することができます。


マクロファイルとマルウェア

手軽に開発ができる一方、bat(バッチ)ファイルと並んで、マルウェア等で使用されるケースも多く、無許可のマクロファイルや、VBSの使用を制限している企業もあります。VBSを作成の際は自社の情報セキュリティルールを確認されることをおすすめします。


マクロ記録でできること

マクロ記録は人が実際にアプリケーションの中で行った操作を自動的にコード(VBA)として記録する機能です。繰り返し処理や条件分岐等の複雑な処理は記録できませんが、Excel内の単純な操作であれば気軽に操作を自動化することができます。


VBAでできること

VBAを使うことで、繰り返し行う処理や、ルールに基づいて処理できる業務を自動化することができます。 VBAを使えば次のような処理が実現できます。

  1. データを転記する
  2. データを抽出する
  3. データを集約する
  4. データを分割する
  5. データを結合する
  6. データを並び替える
  7. データを比較照合する
  8. 値を算出する、加工する
  9. メッセージをポップアップで表示する<