VBA、なんて書くと、カッコ良さそう!?だけど、基本は、操作を記録して、高速に実行するものです。
「マクロ記録」っていって、操作をそのままマクロに翻訳してくれる機能もありますしね。
もちろん、命令文とかあって、操作では出来ないことが出来たりはします。
でも、忘れてはいけないのは…
「マクロが強いのは、同じことの繰り返し」
たった1回しか行わない作業の場合、よっぽど込み入って、実現が難しい作業でない限りは、わざわざプログラムを書く意味はないのです。
VBAも経験が長くなると、その辺の判断が出来るようなってきますね。
この作業はちょっ面倒だけど、VBAのプログラムを書く価値がある、とか、
逆に、手動操作の方が良さそうとか、
そもそも、Excelには向かない作業とか、…
実際、Excelの上位としては、Accessもありますし、VBのアプリやシステムにもあります。
確かに、Excelは同時編集には向かないとか、データベースとしての使用は面倒(可能ではあります)とか、制約はあります。
でも、ExcelVBAが、最も力を発揮するのは…
「パソコンに余り詳しくない人に、データを入力してもらう」
これに、尽きると思います。
課長、部長クラスの上司には、パソコンが苦手な人もいるでしょうし、使えるけどそれほど強くない人が、多いと思います。
でも、Excelが身近でない人は、実は余りいない。
資料はたいてい、Excelで回ってきますし、逆にExcelで提出を求められる書類も、たくさんあります。
ある程度は使えないと、上長なんかやってられないんです。
だから、支店長などの上長に何かを入力してもらって、集計や報告書を作る場合で、会計システムのようなお金をかけられない場合、実はExcelに入力してもらうのが、最適なんです。
入力する人が、親しみを持っているから。
Accessは同時編集に弱点はあるものの、VBAは優秀で、いろんなことが出来ます。
でも、それを使って入力して下さいって、上長にお願いして、果たしてやってくれるかどうか。
パソコンを苦手だと思ってると、見たことのないソフトは、なるべく触りたくないと思う。
そもそも、標準で入ってるExcelに比べ、追加インストールが必要な場合が多いAccessは、それだけで敷居が高いのです。
実際、VBAをいろいろ学んでいくと、ダイアログボックスからファイルを選択させることも出来ますし、印刷や保存も自動ですることが出来ます。
また、他のファイルを操作できますから、上長に渡す入力ファイルに、マクロは要らない。
「マクロが無効にされました」なんて、変なメッセージを出さずに済むのです。
僕のExcelVBAの処女作は、郵便局の勤務シフト表作成ツールですが、その前に会計用のExcelを解析する機会があって、それがExcelを知る、大きなきっかけになりました。
郵便局での勤務は7年だけでしたが、後につながる大きなヒントを、その間に得ていたのですよ♪