螺旋を描いて…

螺旋 のごとく続く毎日を綴ります

大きな仕事…

昨日、大きな仕事が峠を越えました。

 

100近い支店で、Excelに入力されたデータを、ExcelVBA(マクロ)で一気に集計し、数種類の帳票を出力します。

 

全体としての進捗は、多分「第2ゲート通過!」ぐらいだけど、第3ゲートは各支店の資料の印刷が、第4ゲートは資料の月度繰り越しが出来ればいいので、かなりハードルが下がります。

 

このシステム(かな?)制作の仕事は、2回目。

前回は突然、作ってくれと言われたので、既存の帳票を取り込んで、処理できるようにするので、精一杯でした。

でも、こうして1年回してみると、自他共にああしたい、こうしたいってのがたくさん出てきて。

それを可能な限り盛り込んだのが、今年版ってわけです。

システム的にも、無理矢理つなげたために、無駄な仕組みが多かったのを、スッキリさせたし。

我ながら、いいのが出来たと思いますよ♪

 

 

ExcelVBAを使ったツール類の制作は、もう15年も前から。

勤務指定表の自動作成ツールを作ったのが、全ての始まりです。

 

 交代勤務だったので、それぞれの休みはまちまち。

でも、「この担当とこの担当は、平日は必ず要るよね」ってのがあるので、それがいないと警告表示。

もちろん、印刷も複数の体裁で出てきますし、最終的には、たまった有給を希望通りに乗せる仕組みも、作りました。

 

それまでは担当課長代理が、「ゴム印」片手に組む仕事。

配置はそれまで通り課長代理がやるものの、手間やミスを削減して、大幅な省力化を実現しました。

社内のパソコン活用コンクールで、優秀賞も取りましたよ♪

 2000年頃の話です。

 

 

その後、いくつか会社を変わり、いろんなニーズにも出会って、その都度解決すると、自分の力にもなって。

中でも、「望みのファイルをユーザーに選択させて、それを開けて処理して、また閉じる」ってことが出来るようになってから、有用性がグンと広がりました。

 

利点ですか?

「ユーザーが使うファイルに、余計なもの(マクロ、ボタンなど)を埋め込む必要がない」こと。

ユーザーが使うのは普通のファイルだから、変なメッセージも出ない。

変な?ボタンもありません。

 

実は、そういう変わったものが出ると、パソコンに慣れてない人は怖がって、使ってくれないんです。

僕らは「エラーが出たら直せばいい」感覚で使えますが、パソコンが苦手な人は、「もし間違って、ソフトはおろか、パソコン自体を壊しちゃったらどうしよう!?」って、ものすごい恐怖感と戦いながら、パソコンを触るんだそうです。

 

なので、できる限り、入力用ファイルは見慣れたものにしておいた方が、いいわけなんです。

苦労して作っても、結局使ってもらえないのでは、骨折り損のくたびれもうけ、ですから。

(実際、そんな経験もあります)

 

もちろん、こちらが使う実行ファイルには、思う存分命令文を書くことが出来ます。

ExcelVBAの基本は、昔のBASIC。

子供の頃に打った、いじった、遊んだ言語が、そのまま使えます。

 

それにExcelって、多くの機能をVBA言語に翻訳する機能があります。

記録モードにして、実際に操作をすれば、その通りのプログラムになります。

勉強にはもってこいです。

「ああ、この機能はこんな設定をすればいいのか!」ってね。

 

それに、複雑な計算はVBAで書くほかに、Excel本体のセルに数式を埋め込んでおいて、値だけVBAで書いて計算させる、なんてことも出来ます。

こうすると、内部計算した結果を、簡単に表示することが出来ますね。

 

誰でも使うExcelですが、使い方によってはものすごい応用力があるんですよ。

言語として、開発用プログラム言語として、インターフェースとして、ExcelとExcelVBAは、非常に優秀なんです。

 

 

最近では、新設支店の勤怠や手当などを計算したり、各部の売上データを読み取って、作表したりグラフ化したり。

作業データをピボットにして、望みの帳票やグラフを出したり。

100人以上いる部長+支店長のメールアドレスを管理して、簡単に一斉配信出来る(出力したテキストをメール宛先に貼ります)ツールなんてのも、作りました。

 

 

こうやって、今までいろんなツールを作ってきました。

でも、全ては「ニーズがあってこそ」、なんです。 

 

「こんなものできないか?」

「こんな集計は可能??」

 

必要は発明の母と言います。

リクエストがあると、人はそれを満たそうと、努力をする。

それが、自らの力を高めてくれます。

 

これまで僕を育ててくれたのは、今まで僕に様々はリクエストをしてくれた、数々のクライアント、なのですよ!