見出し画像

VBAとの付き合い方について

VBA初挑戦の記事と奮闘中のtweetを見て自分の経歴を遡ろうと思ってたら1ヶ月経ってしまった…。
とりあえず自分で思うことをまとめてみようと思います。異論反論ありよりのありでしょうが個人の意見ということで。

VBAに触れるまで

VBA自体は2社目に入社後社内ツールを作って欲しいと言われ、今までLinux環境でしか仕事したことなかった私は悩みました。
「ツールかぁ…。Linuxならワンライナーで組み合わせればいいけどWindowsってどうするのが楽かな。」
「というか利用するメンバーはPC詳しくないのか。GUI必須だな。」
「とはいえexeファイル作って、とかはやったことないし改修とかあったら引き継ぎできないな…。」

そこで色々ヒアリングしたり調べた結果、ExcelやAccessベースなら今までもVBAを使ったツールが作られていたこと、ExcelのUIならみんなアレルギーが出ないということでExcel VBAを主軸にすることに。

VB自体は初めて触りますがコーディング経験はあったので、参考書とかは特に買わずにグーグル先生頼みで作成していきました。結果的に8年で40くらい?出来ましたね。なんかすぐ作ってくれるとわかった途端使う目処が経ってないのに依頼されて、(一応上司も了承してたので)作った後音沙汰ないので聞いてみたら全く使ってないのとかもありました。まぁええが。

あ、でも会社の資格報奨対象でVBAの資格があったんでそのための参考書は買いました。もちろん内容は網羅されてるのでたまに見返したり人に貸したりしましたね。

会社がよくわかってなくてベーシックとスタンダードという括りで報奨金設定していたので、ExcelとAccessどっちもとって報奨金倍せしめたり、試験だけ受けに行ったアビバで講師やらない?とスカウトされたのはいい思い出です。

ツールを作ってみて得られたこと

プログラミング自体好きな方だったので、主にベンダーコントロール中心となった業務の中では癒やしの時間になってたりしました。
後は直接利用者(部署メンバー)からレスポンスがあったのは嬉しかったですね。今の情シスへの動機づけのきっかけになったかも。
また、あまりPCに詳しくなくて面倒な作業なのは理解しているけど改善まで思いつかない人だったのが、ツールに触れることで改善点が朧気ながらにも見えてくる人になっていったのはいい副産物でした。

大量のデータを扱う場合はAccessにデータを蓄積しつつ、利用者が扱うガワの部分は馴染みやすいExcelにしたりと色々やりたい放題作らせてもらったのもあり、色々とノウハウを得ることが出来ました。
この辺はGASなどでも考え方が使えるので汎用性高いですね。

ツールを作ったことによる負の遺産について

機能の引き継ぎとかは正直コードをきれいに書くとか、コメント多めに残すとかである程度対処できますが、一番面倒くさいのはOfficeやWindowsのバージョンアップに伴う動作検証ですね。

「Office2016へ一斉にバージョンアップするからちゃんと動くか動作検証しよう」
「あ、Windowsも7から10に上げるんだよね?そっちも確認してね」
「OSが32bitか64bitかで動作おかしくなったら困るからそこも確認しないと」
「Office自体も32bitか64bitかで動き変わるんだよなあああああああああ」

基本的に動かないなんてことはないんですけどね。メジャーな関数はそうそう仕様変更ないですし。Officeのbit変更はちょっとまずいですが。
でもそれで上司を説得は出来ないので地道に動作検証するしかないんですよねぇ。これはちょっと面倒くさかったし、引き継いだ後輩に悪い事したなぁとおもいました。や、回避策があったとは思わないけど。

RPA系ツールとの切り分け方

よくRPAで働き方改革!みたいな話がちょっと前からありましたが、RPAは調べはしましたが導入はしませんでしたね。

理由としてはRPAは暫定対処という印象が強かったからです。
人がやることを24時間365日正確に実行できるのは確かにすごいですが、そもそもそんな作業がなくなるように業務内容を見直せばRPAもいらないわけで。

例えばIEでとあるサイトを開いて所定の場所に記載されているデータをExcelに貼り付ける、とかならRPAが必要かもしれませんが、1から10までExcel上で作業するならVBAで十分なわけです。

VBAもRPAも手段でしかないので、まず目的を明確化しないと作業自体あんまり意味がないことになりかねませんね。

あくまでも一時的なものという認識で

VBAで作ったツールは便利ですが、
・自分だけが使う
・月に何回もやる作業
・もしくは一定期間だけ必要な作業
とかは非常に便利ですがそれ以上はメンテナンスコストとの相談をしたほうが後々自分の首が閉まらないため、使い所を見極めることをおすすめします。

今後テレワークやOSに依存しない働き方が主流になった場合、webブラウザでOfficeファイルにアクセスして作業する、なんてことも出てくると思います。
その場合VBAツールは持っていけないので、やはり業務そのものを常に最適化する覚悟が必要になるんじゃないかなー。

白物家電のように買って終わり、なら社会人なんてもっと片手間で出来ますよ。

この記事が気に入ったらサポートをしてみませんか?