私はインフラのエンジニアとしてIT業界に2000年頃に入って、現場で仕事をしていく中でExcelを使う業務を効率化するためにExcelマクロという便利なプログラミングツールがあることを知って、少しずつ業務時間中にツール的なものを作っては利用してきました。
一番最初に作ったのは、メールの履歴をExcelマクロに取り込んだら障害対応の履歴を一覧化するという内容でした。
他にはサーバーの保守情報一覧を使って、DELLの保守契約WEBサイトに自動ログインして保守情報を取得して一覧を自動で更新するという、ややトリッキーなマクロも作ったりしました。
あとは社内の営業事務の人のために、請求一覧を様々な情報をもとに作成するマクロとか、様々なマクロを作りました。
人事の部門にいたときには、社員の毎月の勤怠記録を取り込んで残業代などを計算する給与計算用のマクロも作りました。
Excelマクロはやはり実務を担当している人が、自分の日々の業務を効率化するために自分で作れるのが一番良いと思います。
実務をもっとも理解しているのはその業務の担当者である自分なのは間違いないですから。
さきほどの給与計算マクロなんかも、自分は人事担当者として手作業で給与計算をしていたので、曜日や時間帯による時間外割増の計算の仕方などの労働法が分かっています。ビジネスロジックを理解している人が自分でツールを作ってしまえば、わざわざロジックを仕様書として文書に起こす必要がないので非常にスピーディーに欲しいツールが作成できてしまいます。
Excelマクロは経理や総務、営業事務など事務作業の多い実務担当者の人が覚えると効果が高い気がします。
Excelマクロを覚えるメリットを3つ挙げるとすると・・・
- 1.面倒な繰り返しの作業をしなくてよくなる
- 2.誰かにマクロを作ってあげるとかなり喜ばれる
- 3.マクロを作っている時間は楽しい
1つ目はExcelマクロの使命ですから当然なのですが、日々の仕事でなんとなく「毎月やることになっているから・・・」ということでやっているルーチンってあると思います。
ルーチンワークっていうのは短い時間で終わるほど良いですよね?(残業時間が減る、他の生産的な仕事に時間を使える)
単調な繰り返しの作業はできるだけ減らして、思考してなにかを解決したり、新しいアイデアを見つけることに時間を使ったほうが会社にとっても自分にとっても良いはずです。
単純作業を短くしてくれるツール、それがExcelマクロとかバッチスクリプトなどのオートメーションツールです。
最近はRPAも増えてきました。
手段はなんだっていいのですが、要は「この作業、何かしらの方法で時間短縮できないかな?」とまずは考えてみることが第一歩です。
2つ目、「マクロを作ってあげるとかなり喜ばれる」ですが、他の人・チームの仕事を助けるようなツールを作ってあげると非常に喜ばれます。
きちんと動作して、実際に役立つものでなければいけませんが、自分のスキルで人に喜んでもらえると自分自身、会社が楽しくなるはずです。
社内の評価もきっと上がることでしょう。
3つ目、「マクロを作っている時間は楽しい」ですが、Excelマクロをやってみようかという人はおそらくプログラミングに少しは興味がある人だと思います。
プログラミングが嫌いな人はまずやってみようかという気にもならないと思うので。
Excelマクロは(他の言語でも同じですが)自分が実現したいことを用意されている制御構造やExcel独自のオブジェクトなどを駆使して達成するという言ってみればパズルの問題のようなものですから、問題を解くのが面白いと思える人ならかならず適性があります。
そして、会社の仕事時間中にいわばパズルを解いてお給料をもらうのって良くないですか?
プログラムばっかりになってくると、もう本職のプログラマーになってしまうので、それはそれで肩こりが酷くなったりマネージャに進捗管理されたりして疲弊してしまう面も出てきたりするのですが、業務の片手間に取り組むExcelマクロなら大方の人には息抜きというか、単に楽しい時間ではないかなと思います。
大阪商工会議所で「あさぜみ」という小規模な朝会があったときに配布したExcelマクロについてのレジュメを貼っておきますので、勉強される方がおられましたらどうぞ。
あさぜみレジュメ