Excelでの社内DXを進める理由
自動化するためのツール・プログラム言語は数多くあります。
■操作自体の自動化:RPA(ロボティック プロセス オートメーション)ツール
マウス操作など、実際の操作を自動化するツール。
独自システム等、プログラムでは対応できないものに対する自動化を実現できる。
プログラミングを行わなくても自動化させたい動作を作ることができる。
・Power Automate(Microsoft)
・WinActor(NTTコミュニケーションズ)
・UiPath(Ui Path)
■プログラムによる自動化
・マクロ(VBA:Visual Basic for Applications)
・C
・Python
・Java
などなど
既に知識がある。会社で導入されており実績がある。などがあればそのツール・プログラム言語を利用していくべきですが、特にそういうのが無い。もしくはこれから始めなければならない。という方、私は断然マクロを進めたいと思います。
お勧めする理由は、ひとえに私がマクロをメインで使用していて便利だから。というのもありますが、それ以外にも大きな理由があります。それは
導入のしやすさ
勤めている会社にもよるかもしれませんが、昨今セキュリティやコンプライアンス的な観点で、たとえ無料のフリーソフトであってもインストールできないことが多いと思います。
その点VBAはMicrosoft Officeが入っているPCは必ず使用することができます。
もっというとVB ScriptであればWindowsさえ入っていれば使用可能です。
もちろん目的がAIとかVBAでできないものであれば、Pythonとか目的に合ったソフトを選択する必要がありますが、簡単な社内DX化をまずは進めていく。のであればマクロ(VBA)をお勧めします。
で、マクロが良いのは分かった。でもなぜExcelか?の理由ですが、2点あります。
1.マクロの記録ができる
2.Excel以外でやる必要があまりない
1.マクロの記録ができる
実はこれがExcelマクロを進める最大の理由で、マクロを学ぶ上でも理解度を大幅に向上させる大きな要素です。
この機能は何か?というと
・手動で行った動作を記録し、プログラムにしてくれる機能
です。
普通プログラミングをするときは、こんな感じで進めていくと思います。
だけど、この2、3が初心者とかちょっと作りたいだけの人、これから学ぼうとする人にとっては非常にハードルが高い部分なんですよね。
やりたいことは分かっている。だけどやり方がわからない。調べても自分のやりたいことがきれいに載っているわけではない。
結局やりたい動作をプログラムにできるまで処理を理解してからでないと作れないんですよね。
プログラミングってそういうものなんだから。と言ってしまえばそれまでですが、結局やろうとしてもこの2、3のハードルの高さから「うん。こういうのはできる人に任せよう」となってしまいがちです。
でもマクロの記録だとこうなります。
調べて理解しなくてもいいんです。
自分で動かした動作を記録し、それを勝手にプログラムにしてくれて、次回からは実行するだけでOK。
単純作業の繰り返しとかなら、正直これだけでお終いです。
ただまぁプログラミングできるようになりたいのであれば、きちんと処理を理解する必要がありますが、先ほどのこちらと大きく異なるのが、
こうなるんですよね。
これ何が違うかというと、普通のプログラミングだと
「処理を考えてやりたいことを実現する」
だったのが、マクロの記録で作ると
「やりたいことの処理が確認できる」
そう、逆引きができるんですね。
プログラミングを学ぶ上で、「やりたいことを実現するにはどう処理させればよいか」がわかるというのは非常に大きく、理解度を上げる要素になります。
で、一度マクロが出来上がると、それが成功体験になり次のマクロを作る活力にもなります。
そういった意味で、Excelマクロが良いと考えています。
2.Excel以外でやる必要があまりない
こちらは1に比べて大きな理由はなく、ほとんど単なる感想になりますが、昔に比べExcelの制限が無くなってきたので、Excel以外でやる必要があまりなくなってきたんですよね。
昔は
・65,535行、256列までしか扱えない
という理由から、データベースなど大規模なデータを扱うときはAccess、小規模なデータを扱うときや計算がメインの場合はExcel、と棲み分けができていました。
ただExcel2007からその制限が1,048,576行、16,384列に拡張されたことで、大規模なデータも扱えるようになることでその棲み分けが怪しくなってきました。
でも、それ以上になるとAccessに分がありそうですが、実はAccessもExcelもですが
扱えるデータは1ファイル2GBまで
という制限があります。
そうなると実は1,048,576行、16,384列でも2GBの壁にぶつかりやすく、Accessなら。のメリットが薄まってしまっています。
特に今はデータベースが2GBで収まることは珍しく、データベースとしてACCESSを使用することは少なくなり、SQL Server等を用意してそちらをデータベースとしてデータを格納。AccessでそのSQL Serverにアクセスしてクエリ等でデータを扱うのがメインだと思います。
ただプログラミングせずにデータベースにアクセスしてクエリ実行できたりするAccessの優位性ですが、Excel2013あたりからの機能「PowerQuery」の登場でまた一段と薄まりました。
だってデータベースソフトの機能を持ったExcelとなりましたので。
もうそうなるとExcelだけで良いのではないか?と思っています。
そういった意味で、Excel以外でマクロをやる必要があまりないと考えています。
このようにExcelマクロについては
・Microsoft Officeがあれば使うことができる導入のしやすさ
・マクロの記録によりプログラミングのハードルが低い
という理由で、私は社内DXを進めるうえでの最初の一歩にお勧めしたいと思います。
で、予算がついたりしてもっと大規模なことができるようになったら外注やらRPAやらで更にDXを促進していけば良いと思います。
■関連ページ
■社内DX案件紹介
【社内DX案件紹介】データの期間によってレコードを分割しファイル出力する
0 件のコメント:
コメントを投稿