VBAが使えて良かったなって話

先日渡された仕事が超重かったんですよ

MAX簡潔に要約すると、Excelでリストを作成する仕事なんですけど、以前は派遣さんに頼んでた仕事らしく、手でやろうとしたら三日くらい丸々リソース割かれるくらいの作業量。

最初はどんなもんかと一旦手作業で取り掛かってみたんですけど、1時間くらいであーこりゃもう無理だと、年が明けるぞと。しかもこんな作業が毎月発生しているらしいと。前いた派遣何者だよ。



 

こんなん人間の仕事じゃない!機械がやれ!


たまたま学生時代にExcelをガリガリいじるアルバイトをしておりまして、ショートカットやらピボット、果てはExcelどころかAccessとかSQLとかまでいじってたんですけれども、その時にマクロも少し勉強しまして、本当大したものではないんですがマクロが組めるんですよ。

謙遜してるように聞こえるけど本当に大したことなくて、Functionの呼び出しとかよくわかんないし、Objectも正直使い方よくわかんないっす。毎回ググって、一番簡単そうなやり方で組んでる人のマクロをコピペしてきて、あとはトライ&エラーでひたすら修正。マクロでカバーできないところは関数も組み合わせてなんとかするっていう。

昔から弱い能力しか持ってない主人公が頭使って乗り切る系の漫画大好きなんですよね、植木の法則とか、金色のガッシュベルとか。サンデーキッズです。なんで、手持ちの数少ない武器でここまで乗り切ってきたわけです。

今使いこなせてるのなんて『For Next構文』と『If  Then Go To』 と『Pastespecial』くらいっすマジで。『Do Loop』は『For Next』と何が違うのかわかんないし、『Create Object』はネットで見たのをコピペで毎回流用してる。ましてやエラー処理なんてしたことないっす。

 

“でも、『For Next』は空手でいう所の『正拳突き』だから”

 (一番最初に習得するけれど、極めれば奥義になることの例え)

 

ぶっちゃけ繰り返し処理とスキップ処理ができれば大抵の作業なんとかなります

あとこの『〇〇は正拳突きだから』って俺めっちゃよく言います、結局正拳突きが一番つえぇ。

 

 

とはいえマクロ組むのにもそれなりに時間がかかるので自分の中ではこういう時はもうマクロ組む!って決めている条件をまとめておきます

 

・月1回以上の頻度で作業が発生する場合

・単発の場合でも1000回とか同じ作業を大量に繰り返す場合

・作業内容を聞いた時点でマクロの組み方が思い浮かんだ場合

 

以上のいずれかに該当したらどう考えてもマクロ組んだ方が楽!とりあえず手でやってみるっていうのは時間の無駄だし、何回も組んでたら上達してすぐ組めるようになる。あと実際に煩雑な作業がボタン一個で終わるようになるっていうのはなんとも言えない快感です。

学生の間にマクロなんて学ぶ機会があって本当に良かったなって思います。社会人になったら研修とかでない限り0から学ぶには腰が重いし、時間も無い。でもExcelたくさん使う人はメリットしかない技術だし、時間作って勉強する価値はあると思います。

 

いつか気が向いたらマクロに関することも書こうかな

 

[amazonjs asin=”479738607X” locale=”JP” title=”かんたんだけどしっかりわかるExcelマクロ・VBA入門 (Informatics&IDEA)”]

 

 

Twitterではもっとライトにカルチャーの事呟いてます!→@repezen0819