以前こんなタイトルの記事を書きましたが・・・、今回はExcelマクロ(やプログラミング)において大切なのは、「プログラムを書く力」ではなく「発想する力」というお話しです。

久しぶりにマクロで作業を自動化してみました

最近RPAの研究をしていたせいか、プログラム的なものに対する「創作意欲?」がやたらと高まってきました。

せっかくなのでその勢いのまま、以前から自動化したかった業務についてExcelマクロを作成しました。

マクロを作るのはやはり大変で時間はかかるのですが、一度完成すると本当に便利。今まで30-40分かけて手作業で集計していた作業が、わずか1分で終了するようになりました。

マクロを作るようなハードルの高い事務作業は、得意な方は別として、私のような素人プログラマーの場合、取りかかる際の勢いが大切です。

取りかかるまでのハードルは高いですが、気分が乗ったときに一気に作れば、また次のものが作りたくなってきます。

実際にマクロを組む際には、関連書籍やネットを参照しながら作っていくわけですが、今回調べているなかで、印象に残ったのがCSVファイルをマクロで保存するというこの記事。

ExcelファイルをCSVで保存するときに、マクロを使う理由 | EX-IT

書かれた日付を見ると2013年、5年も前からこんなことができたなんて。なんか悔しいですね、なんでいままで知らなかったんだろうって(>_<)

弥生会計のインポートデータ作成のネックも、実はCSVファイルの保存手順?

当ブログでも弥生会計へのインポートデータの作成記事をよく読んでもらっていますが、最後のCSVファイルの保存手順、確かに面倒でまどろっこしいです。

私のこの記事では、データ形式の解説で力尽きてしまって、最後の方にさらっと「CSVファイルの形式で保存してください」とだけ書きました。

でも、確かに保存するときには何度もExcelからメッセージが出ますので、もしかするとこの部分で躓いている人が結構居るのではないか、と思えてきました。

私自身はCSVファイルの保存作業をいやというほど繰り返してきましたので、今や無意識に「OK」や「キャンセル」を選べますが、慣れない方にとっては、毎回「えーと、このときはOKだっけ?それともキャンセル?これは保存は必要なのかな?」と悩まれると思います。

それがたった5行のマクロで解消されるなんて・・・。

大切なのは、「こんなことできないのかな?」と考えること

今回印象に残ったマクロはとても短いのですが、その中でもポイントは、Excelから表示される警告を一時的に非表示にする

「Application.DisplayAlerts = False」

という部分です。

でも、大事なのはこのマクロの書き方を知っているということではありません。

「CSVファイルを保存しようとしたら、Excelから何回もメッセージが出てめんどくさいな。メッセージ表示しないようにできないのかな?」

という発想にたどり着くことが重要なんです。

このように発想できれば、あとは

「Excelのメニューや設定で保存のときのメッセージなくせないかな?」
→そのような設定やメニューは見当たらない・・・

そうなると次は・・・

「だったら、マクロでなんとかならないかな?」
→Application.DisplayAlerts というのを使うとメッセージを非表示にできそうだ

という流れで調べていけば、最初に発想した「メッセージを表示させない」ということが実現できます。

(ちなみにこの”Application.DisplayAlerts”というのは、初心者向けの本にはほとんど出てこない内容ですので、初心者の方がいきなり使うのはおすすめしません)

繰り返しになりますが、大切なのは「Application.DisplayAlerts = False」という書き方を知っていることではなく、目の前の仕事に対して「こうなったら楽になるのにな」と想像力を働かせることができるかどうかなんです。

でも、こうした発想って本をいくら読んでも身につきません。目の前の仕事をなんとかラクにできないかと、常に考え続けることでこうした発想力は養われます。

まずは効率化のための小さなアイデアを見つけてみよう

マクロの入門書は読んだけど、結局どんな作業をマクロに置き換えたらいいのかわからない、という方もいらっしゃるかもしれません。

そんな方は、まずは「マクロで30秒だけでも効率化できる業務はないか?」という視点で業務を見直してみてはいかがでしょうか?

例えば、毎月更新しているExcelファイルの資料があって、自分にとってわかりやすいように入力が必要な部分のセルに色をつけているとします。

ところが、上司に持って行くときには、この色を消して印刷をしないといけない、というケースを考えてみます。

通常であれば、

セルの色を塗りつぶしなしにする → 印刷する → またセルに色を塗る

という流れで作業をすることになります。

ところが、この作業をマクロに置き換えると、

マクロを実行する

だけで終わります。これだと30秒くらいは効率化できますよね。

だからまず小さなアイデアを探してみましょう。

いきなり「マクロで業務を1時間短縮するぞ!」なんて意気込んでしまうと、アイデアも浮かばず、仮にアイデアが浮かんでも、マクロが複雑すぎて作る段階で挫折してしまうかもしれません。

まず大事なのはマクロに置き換えられそうなアイデアを自分で見つけることです。

そしてアイデアが見つかったら、頑張って自分で小さなマクロを作ってみる。

自分でアイデアを見つけて、それを自分でマクロを使って実現できると、それが自分にとっての成功体験になります。

成功体験があると、それが自信につながり、自信を持つとさらにやる気が出て、次のマクロを作りたくなる。そのような好循環が生まれればしめたものです。

また、マクロは全く勉強したことがないという方については、できるだけ簡単そうな入門書を本屋さんで手に取ってみてはいかがでしょうか?

大切なのは、いきなり欲張らないこと。カンタンで読み通せそうな本を選びましょう。その1冊があなたの将来を大きく変えるかもしれませんよ。