●計画を立てる前に
マクロ(VBA)は、ITが進化していても魔法のようにパッとできるものではありません。1回目の記事で登場したように操作手順を確認したり、また2回目の記事のように自動化する作業の中で規則性をみつけたりする情報収集が大切です。このような思考回路はデジタルの話ではなく、かなりアナログな話です。
紙と鉛筆を出してきて、時には情報を書き出したり、自分で操作を順番に並べてみたり、いろいろな条件を想像する訓練が必要です。
また、Visual Basic for Application(VBA)の知識が必要になります。しかし、こちらはすぐには覚えられませんので、試行錯誤の連続になることでしょう。ただ、救いがあり、
インターネットユーザには同じようなことで悩んでいる人がいるかもしれない
ということがあります。最近のインターネットでは質問掲示板を開設しているところがあります。たとえば、「moug モーグ」や「答えてねっと」などです。これらの過去の記事を参考にすれば、数日悩んでいた疑問が1日で解決できるようになるかもしれません。
●アプローチ
さて、本記事はどのような手順でマクロを作成するのか、考えてみましょう。まず、「今回のシナリオ」から注意しておきたいところを列挙することです。
▼作業フローから…
▼アンケート票から…
▼集計結果のワークシートから…
このような疑問はほんの一例です。実際にはもっといろいろことを想定しないといけないのですが、逆に神経質になりすぎてしまってはマクロが増えてしまうだけです。マクロを組む前にできるだけ疑問点を解消しておき、マクロの制作時間も考慮した上で、制作範囲の策定作業に入ります。
●制作範囲の策定
1回目や2回目ではあまり意識しませんでしたが、マクロを組むときには、全体像を記録しておくべきです。要するに闇雲にマクロを組み立てるのではなく、道筋を立ててから制作にとりかかるのが本来のやり方です。
今回は時間がありませんので、流れを先に示してしまいます。大筋のマクロの流れは下図の通りです。プログラムを追うときの参考にしてください。
(下図をクリックすると拡大します)
いや、しかし巨大なプログラムを考えてしまったものです。これは、回答ブックと集計ブックを比較する処理をかなり原始的に行っているからです。この方法では、質問数が100近くになるとおそらく数分はExcelが「ガーガー」いっているように忙しく動くことになると思います。質問数が100近くになり、早く計算させたいのであれば、データベースシステムの導入を検討したほうがいいかもしれませんね。
この本連載では、2回目と同様に、ボタンを作成していただき、コピーして貼り付ければ、とりあえず動くという状態にしておきます。ファイルもダウンロードできるようになっていますから、動作を試す分には問題ないかと思います。
|