Office製品で扱えるプログラミング言語です。Basic(通称:VB)」をOfficeアプリで使用できるようにしたものがVBAです。このVBAを活用することで自動化や複雑な処理を簡単にすることができ、その自動化した処理のことをマクロと言います。この記事では、以下について解説しています。VBAとはマクロとはVBAとの違いVBAで出来ること4選VBAを習得するメリット2選VBAをこれから学習していく方やExcelやWordなどのOfficeアプリを仕事でよく使う方は、特におすすめの内容となっているのでぜひ参考にしてみてください。Officeアプリで扱えるプログラミング言語のことです。ExcelやWordなどで利用できる拡張機能を作れる言語とも言えます。アプリケーション)」と言います。VBAを使うことで複雑な処理や自動化を行えます。...Excelのシートを100枚作成するあるデータを使って別のアプリ用のデータを作成するデータから書類を作成するなど、手作業ではめんどくさい作業や手作業で出来なくないけど、作業手順が膨大な作業などを完全に自動化することができます。マクロとは?VBAとの違いは?「マクロ=VBA」と思っている方もいると思いますが、実は違います。VBAとは何かを理解したうえで、次は、マクロとは何かを解説していきます。マクロとは?マクロとは、様々な操作を自動化した処理のことを言います。「終了しました!」とメッセージを表示するこのような一連の作業を1つの処理にまとめ、自動化することをマクロと言います。「マクロ」という言葉自体はExcelやOffice特有の用語ではなく、表計算ソフトなどでよく使われる用語です。VBAとの違いは?上記で述べたとおり、マクロとは複数処理を1つにまとめ、自動化したものを指します。Officeの場合、マクロを作るために必要な言語がVBAで、VBAを使って作った自動化処理がマクロになります。マクロという概念の中に、それを作成できる言語などが多数存在し、その中の1つがVBAということです。VBAはどこに書くの?VBAは、VBEと言われるエディター(コードを書くノートみたいなもの)で記述します。Editor)と言います。VBEについては、以下の記事で解説しています。VBEとは、VBAの統合開発環境の...VBAで出来ること4選VBAでは様々な処理ができますが、大まかな役割を4つ紹介したいと思います。細かく分けるとキリがないですが、大体はこの4つに当てはまると思います。順番に解説していきます。データ処理・管理ExcelやAccess等のデータを処理し必要な情報を抽出したり、書類としてアウトプットすることが可能です。データを作成・入力する部分をVBAで仕組化することもできます。ExcelやAccessであれば関数やクエリを使えば同じことは実現可能ですが、VBAを活用することでより高速で複雑な処理を自動化することができます。クエリや関数を使用した場合、手作業がどうしても必要になりますが、VBAでは完全に自動化することも可能になります。上記の「データ処理・管理」とも少し被りますが、資料作成にもVBAは効果的です。データから処理を作成することが可能なので、以下のようなよく使う資料作成をツール化しておくことが可能です。人事データから新入生のリストを作成する商品データから販売中止になっているリストを作成するまた、操作を自動化することも可能なので「宛名だけ変えて合計100枚を印刷する」という、かなり面倒な作業も簡単にすることができます。ファイル操作VBAではファイル操作も可能です。...フォルダ内のCSVファイルを1つのCSVにまとめる作成したアウトプットのExcelを特定のフォルダに保存するといった操作が可能です。Excelに限らずファイルを操作することも可能なので、フォルダの中にある「不要」と名のついたファイルのみを削除する特定のフォルダから「移動」と名のついたファイルのみを別のフォルダに移動させるといった処理も作成することができます。自動化VBAの本質は自動化です。上記で述べたExcelやAccessのデータ加工はもちろんのこと、WindowsAPIを使えば「別のアプリの特定のメッセージが現れたら、Enterキーを押して自動で応答する」といった自動応答ツールも作れたりします。API:あるアプリケーションにて、そのアプリ以外から特定の操作や連携などを行うために用意されたものVBAを習得するメリット2選VBAを習得するとメリットがあります。今回は特に大きいメリット2つについて解説します。メリットがこの効率化です。私自身も過去に職場で、別の担当者が手作業で行っていた定常業務のツールをVBAで開発したことがあります。その業務は手作業でいくつものExcelを経由するため、4時間くらいかかる作業でした。ツールを開発すると、結果、15分くらいまで時間が短縮され、処理もボタンクリック後に必要なファイルを選択するだけの単純な作業になりました。関数と違いテクニックを知ることで大幅な高速化を狙うこともできます。3万行(レコード)×20列のような膨大なデータも数分で加工することが可能になります。すべての処理を行うツールを開発するのは難しいので、初めのうちは、以下のような小さいことから始めてみましょう。コピペを自動化してみる印刷を自動化してみる入力したデータの計算を自動化してみるそして、ゆくゆくは作った処理たちを1つにまとめてツールにしていくといったステップを踏むと良いです。年収アップVBAが出来るようになると、シンプルに人材としての価値が上がります。エンジニアとしてのキャリアを歩みたい場合、VBAからプログラミングについて学習していき、Javaなどの言語に乗り換えたり、VBAのままキャリアアップを狙うことも可能です。今はある会社のシステム担当だとしても、きちんと勉強・実際の現場での活用をすればエンジニアとしての転職を成功させることは可能です。まとめ|マクロを作るための言語がVBA今回はVBAについて、VBAとマクロの違いについて解説しました。VBAは比較的とっつきやすい言語だと考えています。日々のExcel作業を何とかしたいいつもの業務を効率化して楽したいなどの作業にVBAは最適解だと思っています。2024年1月8日らるじゅ都内でSESやってます。『自由』を求めていると”FIRE”という生き方に出会い、現在はFIRE(特に、サイドFIRE)出来るように少しずつ進んでいます。当サイトは原則リンクフリーですリンクを行う場合の許可や連絡は不要です。引用する際は、引用元の明記と該当ページへのリンクをお願いします。画像ファイルへの直リンク、インラインフレームを使用したHTMLページ内で表示する形でのリンクはご遠慮ください。