こんにちは、こんばんは。
KEIです。
最近はAIがこれだけ進化している中で社内SEって必要なのかな。。。ってずっと考えてます。売り上げに直結しない基幹業務の中のそのまた裏の基幹業務って感じだもんね。
まぁ目立った活躍の場は少ない方がトラブルもなくて安心ではあるんだけどね。取り敢えず今は日々の安全と当たり前の環境を求めつつ少しずつ前に進めているといいなという感じです。
そんな今回は社内SEになって一番活用したExcel VBAについて共有したいと思います。
当然聞いたことはありましたが実際には使ったことがなく社内SEになって初めて使用しました。中々古いレガシーな言語だと思っていましたが、ここまで使用することになるとは思いませんでした。
現役の社内SEの私が実際に行なったExcel VBAの活用事例を幾つか紹介します。
目次
社内SEになって一番活用したものはExcel VBAでした。
Excel VBAについて
デメリットも多く最近では異なるシステムへの転用も増えてきましたが社内SEになって一番活用したと言っても大袈裟ではありません。
社内SEになるまで「VBAってもう古い技術でしょ?」と思っていましたが、まだまだ一般企業ではExcel文化は根強くて、特に世の中の大多数を絞める中小企業では殆どの業務がExcelで管理されているのが現実だと思います。
Excelが業務の中に溢れているような企業ではVBAを活用するだけで結構簡単に効率化が実現できます。
社内SEになるまでVBAに関して全くの無知でしたが、様々な業務を見ていく中で結局使わざる負えないという感じで活用し始めました。
集計は勿論、簡単な検索機能をつけたりと活用の幅は想像以上にあります。
セキュリティ的なリスクも…
当然デメリットがあります。
その為、利活用には懐疑的な意見も多いです。
よく言われるのが下記の2点です。
・マクロによるセキュリティリスク
・属人化
VBAとマクロは厳密には異なりますが、社内で考えるとやはり安易に実行できる環境にしてしまうのは相当脅威でもあります。
当然あらゆる危険性の徹底的周知とセキュリティソフトなどでブロックしておくことは重要だと思います。
またもう一つの属人化ですが…
たしかにVBAで構築されたシステムはめちゃくちゃ属人化しやすいです。
大体担当者が個人で組んでるものが殆どで引き継いだ時に共有しても全くわからなくなってしまうものが多いです。ただ生成AIの発展でこれに関しては割と解決してるのかなと思います。生成AIの活用のところでよく言われますが、レガシーシステムの保守運用は生成AIにとって結構強い分野になっています。
セキュリティのリスクと属人化については後ほど私が行なっていた対策も紹介します。
社内SEはこんなことでVBAを活用してました
・入力項目が該当情報に適するかを自動判別
・見積書の自動転記
・csvで落としてきたデータを自動集計
・既存の表にcsvをインポートして表の更新
・検索フォームを設置して別ファイルの内容を検索
・Excel内でファイル検索
・従業員データから組織図を自動作成
・定期的にExcelの表から必要な情報だけ取り出して印刷
・電子印鑑の選択自動押印
これもあくまで一例になりますが、
Excelがまだ使われている企業ではVBAもまだまだ使い勝手が良いのかなと思います。
VBAに関しては生成AIで殆ど実現できるので今更めちゃくちゃ学習する必要はないと思います。システムに携わらない人でも基礎だけ把握した上でですが比較的簡単に扱えるのかなと思っています。
他の言語としてPythonやPHPも扱ったりしますが、企業規模にもよると思いますが社内SEでは断然VBAを使う頻度が多かったです。
属人化について
VBAのデメリットで上げましたが、やはり属人化しやすいです。実際の現場でも属人化してしまうことが多かったです。
マニュアルの整備と初心者が見てもわかるようにコード内にコメントを入れることは大事だと思います。
またVBSを利用してWindowsに搭載しているタスクスケジューラで定期的に動かし人が介在しないようにさせたりもしてました。
前述したように今は生成AIでメンテナンスやコードを読むことも容易になったので属人化してしまうことはあまり恐れなくていいのかなと思います。ただ処理はなるべく複雑化しないことは大事です。結構幅広く応用も効くので何でもVBAで解決しようとすると煩雑なシステムになります。
要件によってMicrosoftであれば有償にはなりますがPowerAppsや PowerAutomateといったツールを活用した方がシステムが形骸化しづらくなりスッキリします。
私も最近の業務ではMicrosoftのPowerAppsや PowerAutomate、分析システムの活用が増えてきました。コードに比べて可視化された情報なのでシステムの民主化というところにも繋がりやすくオススメですね。
まとめ
今回は社内SEがリアルに一番利用していたコード言語がExcel VBAということを書いてみました。導入しているシステムによってはもっとポピュラーで汎用性のあるカッコいい言語を扱う方々もいると思います。社内の基幹システムや規模感によっても様々です。
書き進めるうちに私も日々の安全だけじゃなくてもっと学んで色んな課題に対して柔軟にクリアできるプロフェッショナルなエンジニアになりたいな。って思えてきたなんて思いながら今日は固定電話の設定をしています。
・・・がんばります。笑