こんにちは。
この記事では、プログラミング(ここではVBA)の学習と実務においての違いについてまとめています。
こんな人にオススメ
- 現在スクール等でVBAを学んでいるが、実務ではどんなことを求められるのか知りたい
- 実務でプログラミングを行う時の心構えを知りたい
筆者は職業訓練校で6ヶ月基礎(C言語とPython)を学び、
その後、制作会社で1年ほど「VBAによる業務効率化」に取り組みました。
この記事のポイントは以下の通りです。
- 実務で求められるのは「応用の応用」
- やりたいことを言語化・フローチャート化できることが大切
- VBAプログラミングは神経を使うが、やりがいも大きい
それでは見てみましょう。
VBA:勉強と実務の違い
(※この記事の内容は筆者の体験です。各職場での状況は様々であることをあらかじめご了承ください)
実務で求められるのは「応用の応用」であることが多い
筆者は就職の際、VBAを一通り理解していても苦労するだろうと予想はしていましたが、実際は予想以上でした。
実務で求められる自動処理を実現しようとすると、プログラムは非常に複雑にならざるをえず、かなり分厚いマニュアル本もほぼ役に立ちませんでした。
既にあるプログラムを分析して調べまくり、
なんとかできたと思ったら絶対にエラーになり、
恐縮しつつ先輩プログラマーに質問しまくりと、かなり消耗しました(›´ω`‹ )
痛いほど実感したのは、こうやって失敗の経験を積むことでしか、実務プログラミングは身につかないんだろうなということでした。
たくさん質問することは避けられないと悟り、できるだけ質問事項を整理して数を絞り、項目化することに務めました → 結果、大体の効率化プログラムにおいてはなんとか実用段階にたどり着くことができました。
やりたいことを言語化・フローチャート化できることが重要
VBAに限らずプログラミングの勉強は、基本言語の意味と使い方や構文の書き方などいわば部品から学んでいくことが多いですが、
実務では「これをこうしたい」という現場のニーズがまずあり、それを叶えるプログラムの完成形を最初にイメージできなくてはなりません。
初めからバァーッとプログラムが打ち込めればかっこいいのですが初心者には無理ですので、
まずは紙とペンをもって、何をやりたいのかを書き出すところからスタートします(こういう基本的な手順も、職業訓練校では習わなかったような気がします)。
書き出せたら「フローチャート」(下記図参照)という、より整理された図式に書き起こすことでプログラム化しやすくなります。
効率的にプログラムを組むには、アナログ的な準備が意外と大事だとわかりました。
VBAプログラミングは神経を使うが、やりがいも大きい
やっとこさ完成したプログラムを自分だけが使うのなら随分気が楽なのですが、
実務では自分以外の人に使ってもらわなくてはならない状況が往々にしてあります。
これが小心者の筆者には大仕事でした。
端末が変わるとうまく動かなかったり、メンテナンスが必要だったり。
自分が作ったマクロが人の端末でエラーになって、「〇〇さん、処理が止まっちゃったので見てもらえる?」などと言われると冷や汗かいたりしていました。
(向いてなかったのかな(´-`;)?)
でもそんな困難を乗り越えて求められた自動処理が実用化すると、
例えば作業に要する時間が減り生産性が大幅に上がることになるので、
感謝の言葉をいただけたりしてとても嬉しかったです。
いかがでしょう?
これから同様の仕事に就く方の参考になればうれしいです(^^)/