マクロと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を使えば次のような処理が実現できます。
- データを転記する
- データを抽出する
- データを集約する
- データを分割する
- データを結合する
- データを並び替える
- データを比較照合する
- 値を算出する、加工する
- メッセージをポップアップで表示する<