単純な自動化だけじゃない!Excel「VBA」を使った活用例とは

Excel「VBA」を使った活用例


ExcelVBAはExcelに付随したものであるためどうしても単純に表計算の入力や計算を自動化させるだけのイメージが持たれがちですが、実はフォームを使ったり、外部参照を活用するとかなりの汎用性や可能性が広がります。

今回はその可能性についてイメージを広げていただくために構築例をご紹介したいと思います。

これを読めばExcelVBAが持つポテンシャルに大きさに気づき、目からウロコが落ちるかもしれません。

フォームを使って入力画面などインターフェース用の画面を構築


フォームを使って入力画面を作成し、入力したデータをExcelに転記するなどの仕組みを構築すれば、決まった入力をシートに直接行う必要がなくなり、データの入力作業をExcelフォームのみで行うことが可能になります。

そしてフォームにタブ移動を付加すれば更に入力の効率化やスピードアップが図れますし、OCRなど自動文字入力装置などを活用することで簡易的な自動入力機能付き表入力アプリケーションが構築できます。

このようにフォームを活用すれば、あたかも普段私たちが利用しているアプリケーションのようなユーザインタフェースプログラムを構築することができます。

データベースにアクセスしてデータべースの入力、編集プログラムを構築


データベースにアクセスしてデータべースの入力、編集プログラムを構築

実はExcelVBAからデーターベースにアクセスしてデータの読み書きなどの編集を行えたり、ワークシートを仮想的にデータベースに見立てることが可能です。

このデータべースアクセス機能と前段でご紹介したフォームを利用することでデーターベース用のインターフェースプログラムを構築することができ、他で利用されているデータベース用のインタフェースアプリを作ることができます。

ExcelVBAのプログラム側ではデータを一切持たず、実のデータはデータベース側に有り、そこにアクセスして表示させて編集するといった形で構築すれば汎用性も高くリソースも食わずに済みます。また改修やカスタマイズが必要となった場合も容易に短期間で行うことができます。

アプリケーション作成が可能


前段の2つを読めばお分かりなると思いますが、フォームやその他のさまざまな機能を使えばExcelに付随するものという枠組みからはずれ、一つのアプリケーション作成が可能です。

意外かもしれませんが、ExcelVBAと言えども元はVisualBasicの機能制限版の様なものであるため、それなりのものを作ることが可能です。まさに前述したデータベース用の編集プログラムもその一例でExcelVBA側は編集機能のみでデータを持たないデータ編集専用アプリとしての開発が可能なわけです。

ただし、高度な機能が必要な場合はそれなりに高度な知識とプログラミングスキルが要求されます。

まとめ


いかがでしたでしょうか?

以上のようにフォームやアドオンなどを利用することによって利用の用途の幅が広がり、さまざまなことが行えるようになることがおわかりになったかと思います。

ExcelVBAはExcelに付随する簡素なVBと捉えがちですが、一旦その概念を外してこういうのを作りたいとビジョンを描いてからそれをどうやったら実現できるかと試行錯誤をするとそれなりのものが作れます。

さらに工夫次第では現在はやりのRPAを代替することも可能です。

アプリケーション作成ができる点については、学習面や金額面でのコストメリットが高いので機会があれば是非トライしてみてください。

自分でそういったプログラムが一つでも作れると自身もつきますし、発想が一気に広がりますよ。