マクロ(VBA)

私が今まで仕事で作ったマクロを紹介します!

そのままなんですが私は独学でマクロを作って自分であったり時には同僚の業務を自動化してきました。

今回は私が今までに作ったマクロを紹介していきます。

具体的なコードと言うよりかはこんなもの作ったよっていう話なので、何かしらアイデアを拾ってもらえると幸いです。

では、早速紹介していきます。

資料を自動で作成するマクロ

私の部署は毎朝ファイルサーバーにとある生データが出力されていたんですね。それを担当が整理して、各拠点ごとにブックにして作成して配布していました。

それをですね、マクロで自動化しました。バッチ処理で毎朝決まった時間になるとファイルを作成するマクロが走って自動で作成されるようになりました。

生のデータがファイルサーバーに出力された、担当が各々でファイルを作成している部署って結構あるんじゃないでしょうか。

そういった際はマクロを使えば自動化をすることが可能です。

特定のシートをブック化するマクロ

生データであったり、特定のシートを切り出してブック化することあると思います。そういった場合もマクロであれば自動で作成することができます。

私はマクロを勉強するまでは一つのデータを40個前後のブックにする作業をちまちまやっておりましたが、マクロを作成してからは5秒ぐらいで終わらせることができました。

これが私が初めて作ったマクロですね。やっぱり、自分で作って、業務が改善できると勉強のモチベーションに繋がりますね。

Outlookでメールを自動で送信するマクロ

これは私が独学でマクロを勉強していて一番役に立ったマクロですね。

先ほど、自動でファイルを作成して配布していると話しましたが、その配布、メールの送信も結構面倒くさいですよね。

なので、ファイルも自動で作って、メールも自動で送ってやろうと思いました。

マクロであればOutlookで決まった時間にメールを送ることも可能です。

また、マクロであれば数十の宛先にも一気にメールを送ることができます。内容の確認は必要ですが、少し内容が違うメールを何回も送らないといけないときってあると思いますが、そういう時はマクロを使うのもありです。

特定のワードがあったらマスタを引っ張ってくる

これ何かと言うと、VlookUPの改良版みたいなイメージですね。Vlookだとセル内の一部に反応させることができないですよね。そういう時にマクロのInString関数を使ってました。

具体的にどういう場面で使っていたかと言うと請求書の処理の時ですね。

私が勤めていた会社の経理は科目の仕分けに細かくて、消耗品費、雑費、備品費をメチャクチャ細かく指摘してきました。

とは言え、モノタロウとかたのめーるとかAmazonの請求書を1明細ずつちまちま見てたら日が暮れてしまうので、過去のざっくりした商品名とそれに対応する科目をまとめた一覧を作成しました。

そこでInString関数を使う事によりリストにある商品名だったら自動で科目が入力されるようになりました。

もちろん、初めて注文する商品であったり、商品名が似ているけど全然違う商品とかもあるので、そこは最後目で見て確認をする必要がありましたが、精度的には大体8~9割は自動で完了することができました。

InString関数はマスタのリストと何かを突き合わせるときに大活躍するので覚えておいて損は無いと思います。

勤怠締めの一次チェックに

別チームに勤怠の一次締めをしている同僚がいたのですが、その人に相談されてIf関数もりもりのマクロを作ってあげました。

勤怠システムからデータを出力してそのマクロを走らせることにより、勤怠の修正しないといけない従業員がすぐあぶりだされるので、ピンポイントで確認できるようになりました。

そもそも、勤怠システム上で確認できたらいいんですが、社内のなんやかんやがあってこんなチェック体制になっていました。

ファイルの提出確認に

各営業所からファイルサーバーにファイルを提出してもらう事あると思います。

少ない数なら提出確認もすぐ終わりますが、これが100前後になってくると、その確認は地獄になってきます。しかも、日次で提出してもらう事もあったのでそれに費やす時間は…

そこで、ファイル名に名前と事業所名を入れてもらうようにして、そのファイル名を見て、別の提出確認ファイルにチェックするマクロを作りました。

まぁ、この点についてはもっとスマートなやり方はいくらでもあると思いますが、

関連記事