※本記事はマクロ(VBA)の具体的な作り方を解説した記事ではありません。
ズブの文系素人が独学でマクロを習得したら残業が減った体験談です。
2019年2月の私の残業時間です。

目次
はじめに

「マクロ(VBA)を作れる」と言うと必ず「理系ですか?」とか「プログラミングを勉強していたのですか?」と返されますが、私はマクロ(VBA)の勉強を始める2016年までプログラムどころかマクロ(VBA)も触ったことはなく、そこは別世界の話だと思っておりました。
私は学生時代、普通の高校を卒業し、同志社大学の経済学部に入学し、明治時代の政治経済学を勉強しました。
大学卒業後、2010年に今の会社に入社し、人事部に配属。
そして、2013年に今の部署に配属されました。
マクロ(VBA)の勉強するまでは、エクセルのVlookup関数をドヤ顔で後輩に教えるぐらいの知識しかありませんでした。
転機は2016年
まず、私のチームの一人が急に退職し、その人の業務を丸々引き継ぐことに。
それに加えて「働き方改革」なる、無情なお上のお達しがあり、社内のムードは一気に「残業規制」に…
そこで止むにやまれぬ形で業務を圧縮するためにマクロ(VBA)を勉強するに至ります。
そもそもマクロ(VBA)とは

みなさん、仕事で一回はマクロ(VBA)を使ったことがあるのではないでしょうか?
要するに、”作業の自動化”です。
次にマクロとVBAの違いですが、ざっくり言うと下記のとおりです。
マクロ ⇒ 自動化全般
VBA ⇒ マクロの一種でMicrosoftOfficeを制御するプログラム
この違いは正直どうでもいいのですが、念のため。
どうやって勉強・習得したか?
私も業務でマクロ(VBA)を使うことはありましたが、まさか自分で作れるとは思っていませんでした。しかし、上のような状況に置かれ、一念発起し、マクロ(VBA)の勉強を始めることに。
まず、How to 本を買う
まず、なにがわからないかもわからない状況だったので、とりあえずHow to 本を買うことに。
(2021/07/06 01:43:33時点 Amazon調べ-詳細)
アマゾンの評価が良かったというだけでこの本を選びました。
結果、しっかりと基礎を理解することができ、その後の作業ははかどったので、この本を選んで正解でした。
この本は3日もあれば読みきることはできます。
さくっと読める割には文系?の私でもマクロ(VBA)の”概念”を簡単に理解することができました。
- マクロ(VBA)の組み立て方
- マクロ(VBA)で何ができるか
- 実際にどういう式を書くか
この”概念”さえ知ってしまえば、勝ったも同然です。
なぜなら、具体的な式は全部ネットに転がっているからです。
その式をパズルのように組み立てるだけでマクロ(VBA)は完成します。
本当です。
簡単に完成します。
私が初めて作ったのは指定のエクセルを開き、シートを別のブックにコピーするという簡単なマクロでした。エラーも出ずに、ちゃんと動いた時はめちゃくちゃ嬉しかったのを鮮明に憶えています。
大学に合格した時ぐらい嬉しかったです。
業務圧縮の目処が立った気がして、思わず一人でほくそ笑んでしまいました。
実現したいこと(式)をネットで検索
え、本読んでネットで検索するだけでマクロ作れるの?と思われたかもしれませんが、再度言います。
ほとんどネットに答え(式)が転がっています!(本当、便利な時代になったものです)
例えば「罫線 vba」と検索すると罫線の引き方に関する記事がたくさん出てきます。
その中から自分の実現したいことを探し、式に組み込むだけです。
なにも難しいことはありません。
式を組み合わせるだけです。
困ったらとりあえず「○○ vba」で検索すれば解決策が出てきます。
作ったマクロ(VBA)の例

私が独学で作ったマクロの一例をご紹介します。
エクセル集計データの資料化
売上、在庫、仕入れなどを管理している集計によくマクロが使われておりますが、集計されたデータを会議資料に落とし込む作業は手作業が多いと思います。
そこで、私はデータを集計するところから会議資料化まですべてマクロ(VBA)化しました。
3日ぐらいかかって作っていた資料郡が、半日あれば作れるぐらいまで作業を圧縮することに成功しました。
メール送信の自動化
ルーチン(例:発注)として特定のファイルを特定の業者に送付する際、いちいち、宛先を入れて、ファイルを添付して…と通常すると思います。
それも、マクロ(VBA)で自動化しました。
指定のフォルダにルール決めしたファイル名のファイルを保存。ファイル名から、宛先とファイルを指定しそれを送信。
毎週、数十社に手作業でメール送付していた作業がなくなりました。
マクロで残業が減った
↑で紹介したようなマクロを他にもたくさん作り、結果的に業務を引き継いで仕事量が増えたにもかかわらず、残業を減らすことができました。
2019年2月の私の残業時間です。

まぁ、残業が減ってハッピーなんですが、そのかわり給料が激減…(汗
私のようなプログラミングのズブの素人でも残業時間を減らすマクロを作れました。
マクロ(VBA)に未来はあるのか?
2019年現在、いろんなツールが登場してきています。
- BIツール(QlikViewやTableauなど)
- RPA(Winactor)
- AI
しかし、断言できます。
エクセルがある限り、マクロ(VBA)は死なない。
私の部署でもBIツール(QlikView)を使ってます。めちゃめちゃ便利です。処理速度がエクセルの比ではありません。何十というファイルの集計・帳票化を一瞬でしてくれます。
RPAもWinActorをさわりましたが、マクロと違い別システム(Officeじゃない)も制御できるため、効率の幅が広がるであろうことは実感しました。
しかしですよ、QlikViewもWinActorもコストがかかります。また、ライセンスが必要になるため、誰でも使える環境を整備するのは余裕のある会社ではないと難しいでしょう。
AIについても勉強しましたが、一般レベルまでに普及するにはまだまだ時間がかかるでしょう。それにAIは膨大なデータを食べることで初めて動作するようになります。逆に言えば、膨大なデータがない事に対してはAIを作る事すら難しいのです。
反面、エクセルが搭載されていないビジネス用のパソコンは無いと断言できます。なので、誰でもエクセルをさわることができます。エクセルを使えるという環境はマクロ(VBA)も使えるという事です。
※エクセル2019でエクセルにPython(プログラミング言語)が搭載されるのではないかという噂があります。正直、ユーザーが満足するレベルのPython機能がエクセルに搭載された場合、マクロ(VBA)が駆逐される可能性も出てきます。(すぐにではありませんが)
まとめ
上記のように2016年から約2年間ポチポチとマクロを作った結果、残業時間を減らすことができました。
私はシステム屋ではないので、業務時間中に堂々とマクロ(VBA)を作ることははばかられたので、通勤時や家で式だけ考えといて、昼休みに一気に書き込むというやり方をしておりました。(今振り返るとめっちゃがんばってんじゃん俺)
残業に苦しんでいる人はたくさんいると思います。
私もその一人でした。
会社は冷たく、誰も助けてくれません。
だったら、自分で業務を圧縮するしかないじゃないですか。今回はその一つの方法として、マクロ(VBA)を紹介させていただきました。
食わず嫌いは正直損です。
偉そうなことをつらつら言ってきましたが、この記事が何かのキッカケになれば幸いです。
(2021/07/06 01:43:33時点 Amazon調べ-詳細)