日々の業務で活用するシーンの多いExcelですが、お客様とお話しているとExcelの「マクロ」と「VBA」を混同されている方がいらっしゃいます。
この記事では「マクロ」と「VBA」の違いについて、わかりやすく解説します。
Excel・マクロ・VBAとは
Excelとは
Excelとは、Microsoft社が開発している表計算ソフトです。Office製品の一つであり、ビジネスでも広く使われています。表計算の機能だけでなく、自動化やプログラミングによる制御もできます。
有料のパッケージ版・サブスクリプション版と無料で使用できるブラウザ版「Excel Online」が存在します(Excel Onlineと有料版は一部機能が異なります)。
エクセルとは どんなソフト? マイクロソフト・エクセル(Microsoft Excel)とは、Microsoft(マイクロソフト)が主要OS(Windows・macOS・iOS・Android)向けに開発・販売している表計算ソフトです。[…]
Excel以外の表計算ソフトも多数あります。表計算ソフトについては別の記事で紹介しています。
ExcelやGoogleスプレッドシート等を普段から利用されている方はとても多いと思います。 これらのデータを表形式で集計できるアプリケーションは「表計算ソフト」と呼ばれています。 では、表計算ソフトとはどういったことができるの[…]
マクロとは
表計算ソフトにおいてのマクロとは、定型的な処理の流れをひとまとめにし、同じ手順で制御できるようにする機能の名称です。
Excelにおいては、VBAというプログラミング言語が使われています。
画像内では、以下の操作を登録した「Marcro1」というマクロを実行し、表を完成させています。
- セルの背景色塗り
- 小計行の作成
- 罫線の設定
VBAとは
VBA(Visual Basic for Applications)とはプログラミング言語です。
Excelに限らずMicrosoft社開発のOffice製品内で使用でき、Office製品のカスタマイズや拡張機能の開発などが可能です。
VBAはプログラミング言語の中でも比較的難易度が低く、プログラミング初心者でも簡単に扱えます。
ただし、他のプログラミング言語と異なりアプリケーションとの連携や、アプリケーションの開発などは行えません。
マクロ・VBAの違い
マクロ・VBAの違い・関係性
マクロとVBAの違いは、それぞれどこの部分に対する名称かが異なります。マクロは機能の名称、VBAはプログラミング言語の名称を指します。
また、ExcelのマクロはVBAで制御されています(マクロに使用される言語はアプリケーションごとに異なります)。
プログラミング言語で直接コードを記述せず、画面操作でマクロを登録する場合でも、VBAのソースが生成されています。
VBAとVBの違い・関係性
VBAと混同しやすいものに「VB」があります。
VBAはMicrosoft社が開発しているVBというプログラミング言語を、Excelを中心としたOfficeアプリケーション向け(=for Applications)に搭載したものです。
VBAはVBを基にした言語のため、VBAの開発で学習した内容は、VBの開発でも役に立ちます。
違いとしては、開発環境の要否、画面開発の要否があります。
VBAはExcelなどOffice製品がインストールされていれば、別途開発環境を用意する必要がないため、VBに比べると開発を始めやすいです。
VB | VBA | |
---|---|---|
開発環境の要否 | IDE環境「Visual Studio」が必要 | Excelなどの付随機能で可能 |
画面開発の要否 | 画面開発が必要 | Excelなどが画面を担当 |
マクロ・VBA違い
マクロ・VBAとは何か、2つの違いについて解説いたしました。
- 表計算ソフトにおいてのマクロとは、定型的な処理の流れをひとまとめにし、制御できるようにする機能の名称。
- VBAとはOffice製品内で使用できるプログラミング言語の名称でOffice製品のマクロに使用されている。
- マクロとVBAの違いは、マクロは機能のことを指しVBAはプログラミング言語を指す。
- VBAはMicrosoft社の開発するVBという言語をExcelを中心としたOffice製品に搭載したもので、VBとVBAの違いは開発環境の要否、画面開発の要否にある。