VBAマクロの便利さに気づく

リュウです。

 

今日は、家族+実家の両親を連れて横浜にあるカップラーメンミュージアムに行ってきます。

前から気になっていた自作カップラーメンがどんなものなのか、楽しみです。

 

さて本題。

最近、VBAマクロを体当たりで勉強中です。

 

7月に内部の係異動で、経理っぽい(かつ経理ではない)仕事に異動となりました。

 

大量のデータを扱う(会計ではないのですが)ようになって、大量の単純作業(仕分け)が必要な業務です。

毎日毎日、同じ作業かつそこそこの分量なのとcsvで出力できるため、どう見てもVBAと相性抜群。

高速化できれば、無駄な時間を減らせます。

 

と、いうわけでVBAを真面目に始めてみました。

独立した際にもこの手の技術は役立ちますしね。

 

ExcelのVlookup程度は使っていたのですが、マクロは若干面倒なので敬遠してました。

始めてみると、昔のプログラムの知識が大分転用できたので、もう少しやってても良かったかもしれませんね。

 

※後述しましたがざっと年間160時間は手間を減らせそうです。

 単純作業はマクロに任せると便利です。

 この写真だと技術系記事みたいに見えてしまいますが、今日は技術面はゼロです。

 (まだ教えるほど分かってません。)

 

●もくじ

1 7月からの業務変更

2 時短は必須

3 VBAの高速化でどれくらい時間が稼げるか

 

1 7月からの業務変更

好きなの部署(かつ不人気なブラックな部署)から強制的に係異動して現在の部署へ。

 

上司の思惑としては、

「なんとなく効率が悪いことをしているのはわかるんだが、

 一通りこなせるのが(前任の)彼女しかいないので、全容がつかめない。

 キミの力で壊してもらいたい」と。

 

出向したスキルが活きないんですが・・・。

まぁ、いいけど。

 

7月からこの担当部署で、日次で集計、月次で報告書を提出します。

したがって10月で4回目。

勝手がわかってきたので、段々と欲が出て徐々にVBAを導入していた経緯があります。

 

2 現在の問題点

前の担当の女性は、仕事は正確なのですが、前のやり方を踏襲して新しいことができないタイプ。

(見た目は悪口ですが、意外に悪口でもなかったりします。

頭の回転は早いのですが、こだわりが強すぎる方なんですよね。

しかも、なまじ頭の回転の速さで効率の悪い仕組でも片付けてしまうため仕事を回せてしまうという話もあります。)

 

と、いうわけで現状の問題点をあげていきましょう。

 

(1)手書きをなんとかしたい

とにかくここが鬱陶しい、苦痛。

 

前任は、「手書きの帳簿」「手入力のExcel(を関数で集計)で検算」をしていました。

平成20年度くらいから使われている2つ前の担当が作成したツールです。

 

引き継ぎを受けて思ったこと。

 

単純作業はめんどくさいなぁ・・・・・。

特に手書き!!

 

システム的にはよくできているのですが、どうしても手書きの台帳は時間がかかってしまう。

 

少なくとも、どちらもexcelにすれば手書きよりきれいだし、何より計算が正確。

そもそも手書きとExcelの2つを準備する必要がない気がしてならない。

 

(2)csvファイルを使おう

自分の職場のシステムは、10年前は2代前のものなのでもしかしたら当時はcsvなどでデータ出力できなかったのかもしれません。

 

しかし、前のシステムではすでに対応していて、今回の機種もCSVでデータ出力可能です。

(前任の女性は興味すらなさそうだったけど。)

 

・・・・これを使えばいいよなぁ。

 

 

と、いうわけで、細かいところはたくさん問題がありますが、この2店を充填天気に見直そうと思っている次第です。

 

目標は、

①手書き台帳をデータ化する

②csvからVBAで転記する

③日次チェックも足し合わせなどは行わず帳票で出せるようにする

④可能な限り月次の報告書も自動作成

⑤④までできたらexcelを1つに減らす

 

①の工程も減らせそうですが、上司も前の担当も新しいことをするリスクを怖がると思うので、データ化の手入力データでやれる方法も残しておかねばなりません。

(システムが変わるとcsvの出力ルールも変わる可能性があるのと、次の担当がVBAをどの程度加工できるかPCのセンス次第なので。)

 

csvがある以上②はできると思っています。

ここ数日で①と②の一部を作りました。

 

集計と転記しかないので、私の技術でもできるようになると思います。

あとは、③、④は若干工夫が要りそうなのでなんともいえませんが、少なくとも②までは頑張ってみましょう。

 

こういうとき理系だった知識と経験が役立ちました。

(実は、大学・大学院で理系を出ていたりします。)

 

プログラムやマクロを作るときの感覚があるんですよね。

If-Then-Else構文、For文などは多言語でも似たのがあります。

(私の頃(大学に99年入学の世代)はCとC++でプログラムがメインで、WindowsAPIもさわり程度でやってました。)

 

 

3 VBAの高速化でどれくらい時間が稼げるか

 

初めてやったときは日次で1時間、慣れてきた今は45分程度。

 

ただ、VBAの集計が全自動でできるようになると、

おそらく1日の作業が5分程度になるのではないかと思っています。

本当は、月次だけで良いような気がしているのですが・・・。

(なお、データの貼付けや、出力されたものを加工する時間も考慮)

 

日数が年間250日くらいなので、

(45分 − 5分) × 250日 = 10,000分

            ≒ 166時間

 

年間160時間!

意外と効果ありそうですね。

 

1時間2,000円の時給として年間33万円の経費節減です。なかなかの貢献。

 

もっとも、サラリーマンは効率化は報酬もでないし、仕事を増やされるだけなんですよね。

まぁ、経費節減の意識は独立に向けてプラス要素なのでポジティブに捉えましょう。

 

使い勝手が良さそうなのができたらそれもネタにしていきましょう。

 

●まとめ

・大量の単純作業はAIでもVBAマクロでいいので自分でやらない仕組を作る

・機械的にこなすと(しばらく検証の手間はかかるけど)手計算・手書きより間違える可能性は低い

 

私の頃は好きで趣味から入らないと始められなかったプログラミングですが、

個人的には小中学校の授業で、ある程度のプログラミング(簡易なものと論理的思考を養う)をやらせるのは賛成です。

 

今後のこどもらが世界的競争力を得るためにも、英語とプログラミングを導入して欲しいところ。

なお、ダンスの授業は要りません。

—–

コメント

タイトルとURLをコピーしました