この記事はVBAの参考書を紹介した記事にあったものを移したものです。
この記事はもともとVBAの参考書を紹介するための補足の意味で作成していました。
しかし、次の考えで一緒に記述することは良くないと感じ参考書の記事から離すことにしました。
- 参考書の紹介である趣旨とは別の内容になってしまった
- アフィリエイトのリンクがあるため押し売り感があり、もともと伝えたかったVBAの意義や価値が薄まってしまう
結論
現場サイトでVBAのニーズは高いため、扱える人は市場価値が高まります。
VBAは重宝するがほとんどの企業で浸透していない
現場から見たVBAのとりまく現状をお話しします。
現状を分かると学習の取り組む強い動機ができます。
動機ができれば挫折する可能性が少なくなります。
私はこの記事を書いている時点で、ものづくり×ITエンジニアとして勤務しています。
過去にものづくりエンジニアとして8年間製品の開発設計を経験しています。
プロフィールではお話ししていなかったのですが、なぜか課の経理の仕事も行っていました。
その中ではっきり言えるがあります。
ものづくりの開発設計業務に限らず、現場サイドでVBAができる方は非常に重宝される、ということです。
なぜなら、会社の業務(営業系・技術系・スタッフ系など)は基本的にEXCELを使用しているにも関わらず、業務を省力化(楽に)するためのVBAプログラミングができる方が現場にほぼいないからです。
今後は、誰でも作業を楽にするために当たり前のように小さなプログラミングをする時代がくる、と考えています。
現在、データの整理整頓・グラフの作成の作業は未だにほとんどが手作業でおこなわれています。
(物理パラメータを測定する以外は、データの入力は基本手入力です)
では、現場の方がVBAを扱えるようになればいいのでは、と考えると思います。
しかし、実際はうまくいきません。
なぜなのでしょうか。
現場でVBAの学習は担当者の負荷がかかりすぎる
仮に業務の現場の方が、VBAで業務改善を進めることになったとしましょう。
実際はここまで組織的な承認をもらうことが大変です。
いきなり問題発生なのですが、大抵の企業は人的リソースの関係から(費用対効果の部分もありますが)、VBAのような改善専用のプロジェクトは立ち上げられません。
この時点で、組織運営の考え方の問題になりますが…。
事実、昨今はどの企業も人手が不足してるため業務のついでに業務改善を行うのが常でしょう。
自動化業務もしかりです。
また、業務改善を割りてられた担当者は業務に精通している方がほとんどだと思います。
シンプルに業務に精通しているからです。
ただ、業務に精通している担当者は空き時間もありません。
シンプルに業務に忙殺されています。
そのため、業務改善を目の前の仕事をこなした後で行うことになります。
つまり、改善業務は2の次になります。
業務改善が2の次になれば、改善業務はスキマ時間に行うことになります。
さらにプログラミングは、今までの業務と勝手が異なります。
勝手が異なるため、プログラミング的な手順や実装方法(調べ方)をすぐに身に着けることはできません。
これは仕事に忙殺されている担当者からみれば、学習のコストが高いことを意味します。
ただでさえ忙しいのにも関わらず、今までやってきた業務と勝手が違い過ぎる。
担当者は純粋にしんどくなってしまいます。
最終的に担当者は、今の業務からさらにプログラムの業務までやらないといけないのか、
と感じるようになり、業務改善そのものに苦痛に感じます。
また、正式なプロジェクトとして行われないため(実際は正式になっても2の次の状況から工数不足に陥るため)、改善業務は遅れます。
そして、止まります。
つまり、業務をしっかり覚えたあとで、VBAのようなスキルを身につけることは困難なのです。
やりたくても、できなくなるでしょう。
外注に頼んでもシステムが使われずに終わる
社内が忙しいなら、外注に頼めばいいのではという意見もあると思います。
結論からいうと、業務改善の外注はうまくいかない場合がほとんどです。
理由は担当者と外注業者の意思疎通が十分でないからです。
私はいままで何度も外注に依頼をしたところを見てきました。
お金だけを無駄にした案件をたくさん見てきましたので、ハッキリ言えます。
大抵、業務改善の内容は複雑な手順にそったものが対象になります。
現場の方も外注先に業務の内容を何度も説明するのですが、説明の資料を準備しても100%は伝わりません。
IT系でない企業の担当者がVBAを扱うような場合、
①技術者(プログラミング的な解決方法や手順を出す人)
②技能者(実際にツールを使ってコードを書く人)
③ユーザー
3つの立場の理解が担当者に必要になります。
大抵は①と②は抜けています。
外注先は③が抜けています。
そのため、担当者は外注先にプログラムの観点で必要な項目をしっかりと伝えることができません。
外注先は自社の業務内容をすべて把握することは不可能なため、お互いに意思疎通ができません。
結果、出来上がったシステムは確かに要求した動作どおりに動くけど、本当に欲しかったのはこれじゃない感ができてしまいます。
実際にプログラムの改良をしたくても、こちらがVBAを使える人材がいないため、再度メンテナンスの依頼することになります。
その後は、再度ちぐはぐなコミュニケーションを繰り返します(はじめより良くはなりますが)。
結局トータル的に高い費用になってしまいます。
最後は、中途半端なシステムとして出来上がってしまうため、システムは使われずに終わります。
まとめ
長くなってしまいました。
私が主張したい事をまとめます。
VBAができる方は非常に価値がある人材である
仕事に忙殺される前にVBAを身につける必要がある
忙殺されてからでは、何もできなくなってしまう
特に、VBAは業務が忙しくなる前に、新人の時にコツコツやって行って頂きたいです(他の言語も同じです)。
業務に忙殺されれば、コツコツすらできなくなります。
最近では、会社の休憩時間にコツコツやることも難しくなってきています。
そもそも会社で勉強できない方も多いと思います。
自宅PCにEXCELがない方でも、VBAを学習したい方はこちらをどうぞ。
Officeが無くてもVBAは学べる (引用元:You.Activate様)
幸いにも、VBAに限らずプログラミングを早めに始めることに関しては、2020年度から小学校でもプログラミング教育が義務化されています。
教育そのものがうまくいくか話は別ですが、私は学習環境としては早く始める、という意味では良いと考えています。
小学校のプログラミング教育の義務化については、文部科学書の「未来のまなびコンソーシアム 小学校プログラミング教育必修化に向けて」をご覧ください。
コメント スパム対応をしたつもり、コメントは残す方向で頑張ってます