生涯エンジニアの備忘録

アクセスカウンタ

zoom RSS なぜエクセルVBAを使うのか?

<<   作成日時 : 2017/01/21 11:33   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

よくエクセル初心者の方から、なぜエクセルVBAを使うのですかと聞かれることがあります。
エクセルを使えば、表計算はもちろんのこと、グラフ表示も簡単だし、並べなおしもあっという間にできて、なんの不自由もありませんと言われます。
たしかに数百個のレコードデータを扱っていると不自由はないでしょう。
しかし、これが、月に数百件の新規レコードを追加したり、全体のレコード数が1000件を超えるあたりから、もどかしくなってきます。例えば、顧客リストからある条件の客を選択するという操作になると、データベースを使いたくなりますが、選択したデータを加工する場合は、慣れたエクセル上でしたくなります。
またデータベースの入力も自分の好きな方式(フォーム)でインプットしたいときもあります。
そんなんときに、強力なツールとなるのが、エクセルVBAです。
VBAの名どおり、VBAはVisualBasicの式を使いプログラムを作ります。
エクセルの式とは少し感じが違ってきます。エクセルで繰り返し動作をさせることも可能ですが、複雑な動作を記述するのは、VBAのほうがずっと簡単にできます。全部のプログラムが一覧で出てきますので、見通しもよくなります。
他のbookへのアクセス、ワークシートの追加、削除、名前変更、セルへの値設定、プロパティ設定(色付けなど)、セルの値読み出しなど、繰り返し文や条件文を使い、素早くできます。
エクセルVBAでは、基本VBですので、フォームの生成、追加、削除が可能です。フォームというのは、
画像
のように四角い小さな窓で、入力項目が入力しやすい配列になっています。
これは、会議室入力の例ですが、本来なら、
画像
に各項目を入力していくのですが、会議室のダブルブッキングなどチェックするのはけっこう面倒くさいです。
これがVBAの式を使うことにより、非常に簡単に記述できます。
もちろんエクセルの表のほうが全体の予約状況を確認するのは、便利です。しかし、時系列で入力すると、ばらばらになり、かえってみにくくなります。これを会議室ごと、あるいは年月日ごとに整理して表示するには、フォームが便利です。

もうひとつ、会社など多人数で使用するときに決定的に便利な点があります。エクセルは共有サーバにおいて使うと、だれか一人が開くと、あとから開いた人は読み出し専用になり、修正ができなくなります。社内に最初に開いた人がいれば、閉じてもらえるように頼めますが、社外にでていれば、電話などで、連絡をとり、閉じてもらう必要が出てきます。
これを解消するには、データベース(アクセスなど)の使用が必要になります。
これが、同じマイクロソフトの製品だとちゃんとライブラリが準備されていて、非常に簡単に接続できます。あとはSQL文でレコードの読み出し、追加、削除が簡単に行えます。何人も同時に使用できます。
(もちろん、エクセルだけでできないこともないのですが、非常に複雑な処理になるので省略します)
いずれにしても、あるレコードだけを抜き出したり、並べ替えたりするのは、データベースが得意です。エクセルに比べ短時間で処理できます。レコード件数が1000件を超えるあたりから差は顕著になってきます。

市販の特注データベースを発注する手もありますが、既存プロセスの説明など多大な時間と費用を要します。それより、社内にエクセルに長けた人がいれば、その人にエクセルVBAを勉強してもらうほうがずっと費用も少なくて、社内情報を外に出すことも必要なくなります。これからは、顧客情報が非常に重要になってきます。これらの仕事が社内の人間だけでできるというのは、強力な競争力になると思います。

弊社のプログラミング教室でも教えています。


テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
なぜエクセルVBAを使うのか? 生涯エンジニアの備忘録/BIGLOBEウェブリブログ
文字サイズ:       閉じる