皆さんはVBAをご存じでしょうか?
マイクロソフトのOfficeに搭載されているプログラミング言語で、エクセルやワード、パワーポイントなどOfficeソフトを利用する業務の効率化や自動化で力を発揮します。案件としてもVBAに関するものは多く習得していて損はありません。
プログラミング未経験者の中には「これからどの言語を学ぼうかな」と悩んでいる方も多いかと思います。この記事ではそんな方におすすめの記事です。
VBAとは何か?という基礎的なことからVBAで出来ることや難易度などを解説します。
VBAとは?よく聞くマクロとの違いを解説!
VBAはマイクロソフトのOfficeに搭載されているプログラミング言語です。Officeを利用する業務に対する効率化に大きな効果を発揮します。
例えば、Excelの内容をOutlookからメールで送信するフローの自動化、エクセル内での定型業務の自動化等…
Officeが欠かせない作業と相性が良いです。
VBAとマクロは何が違う?
マクロはVBAで記録された一連の操作のセットです。また、Excelにはマクロの記録という機能があり、Excel内の動作(セルの移動や値の四則演算など)をVBAコードとして記録する機能があります。
マクロはVBAの一部であり、VBAのコードを生成する手段の1つです。。よく混同されますがVBAとマクロは別物です。
VBAで出来ることと出来ないこと
VBAで出来ること
- Officeのアプリの自動化
Officeのアプリ間でのデータ取得や処理、操作など業務の自動化や効率化が出来ます。
- Excel内の計算やセル動作、グラフ作成などの自動化
エクセル内での計算など多くの事が自動化できます。特に、繰り返しを伴う定型的な計算に対しては大きな効果を発揮します。
- フォームの作成
- VBAではフォームやダイアログボタンの作成が出来ます。ユーザーが使いやすいように、ユーザーインターフェースのカスタマイズも可能です。
- Access内でのデータベース操作
VBAではマイクロソフトの提供するデータベースのソフトウェアであるAccessでの操作も可能です。データの作成や更新、集計を始めとする操作も自動化出来ます。
- ファイル操作
VBAでは自動でファイルを作成したり、ファイル内のExcelの開閉することも可能です。
VBAには出来ない(適さない)こと
一方で、VBAには制約もあります。
- 大量のデータ処理
Excelの行の限界は100万行程度に設定されており、それに相当するデータ数を処理しようとすると処理にとてつもない時間がかかります。処理落ちすることも多々あり、VBAで大量データを扱うときには注意が必要です。
- Office以外のアプリやプラットフォームと連携する開発
VBAはOffice製品に組み込まれているためその他のアプリやプラットフォームで直接使用できません。
- Webアプリケーションの開発
VBAは主にデスクトップアプリやOfficeのアプリとの連携に使用します。Webアプリにはその他のプログラミング言語で行うのが無難でしょう。
VBAの難易度は?
VBAはOfficeで使用する言語ともあって普及率も高いため、コードやトラブル時の対応など多くの情報がネット上に存在するため勉強がしやすいため難易度もさほど高くないです。
また、マクロの記録機能でVBAコードを生成できるのも勉強しやすさの一因かと思います。
私もマクロの記録で生成したコードを参考にしてコーディングをしていました。
勉強の素材がたくさんあり、Office製品さえインストールされていればアウトプットの確認もすぐできるのはありがたいですね。
まとめ
いかがでしたか?Office製品をインストールしていればすぐに出来るVBAは業務の自動化や効率化に効果を発揮します。Office製品は多くの会社が導入しており、その分VBAの需要もあります。ネット上に情報が豊富にあり比較的学習しやすいので、ぜひ学習して案件を獲得しましょう。