「プログラミングの勉強を始めたいけど何からやっていいのかすらわからない」
そのような方に向けて、今回はプログラミングを理解したければエクセルVBAから始めたほうが良いという体験談を3つご紹介します。
目次
理系なのにシステム開発会社に就職した
私は理系出身でしたので、プログラムとは程遠い学科でした。
でもなぜか、システム開発の会社に就職することになりました。
初めて学んだのはHTMLとPHP
新卒で就職してから1番初めに学習したプログラミング言語は、HTMLとPHPです。
2週間の新人研修で学んだあと、開発の現場に配属されました。
でも、最初の1か月くらいはコーディングらしいコーディングができませんでした。(未経験なので当然といえば当然ですが)
現場のリーダーに指示される内容は理解できるのですが、実際に自分で書こうとすると手が止まるのです。
エクセルVBAでプログラミングが理解できた
そんな私を見かねて、先輩から指示されたのが、勉強がてらにエクセルVBAを使って簡単なプログラムを作るという課題でした。
ExcelのVBAは、自分の操作をプログラムとして記録する機能がありますので、まずそれを使ってやりたいことをマウスとキーボードで操作しました。
操作内容がそのままVBAのソースコードに置き換わるので、とても分かりやすかったです。
また、そのソースコードを変更して動かすと、すぐに画面で結果が確認できる点も良かったです。
プログラミングはトライ&エラーで進めるもの
このVBAの経験を通して、初めてプログラミングとはトライ&エラーを繰り返して進めるものであると理解することができました。
① 分かるところまでとりあえず書いてみる
② 動かす
これを繰り返して作っていくものだと。
エクセルVBAで良かった点がもう1つあります。
それは、ループ処理が頻繁に使われるという点です。
そもそもExcelを処理する為の専用プログラミング言語なので、1行ごとに繰り返し何かを行う処理は良く使われます。
練習では、あえてループを2重、3重にしたり、途中で抜けてみたりさせることで、自然にif文やfor(while)文を学ぶことができました。
まとめ
正直言ってエクセルVBAだけでは本格的なプログラミングまではできません。
しかし、初めてのプログラミングという位置づけであればエクセルVBAは一押しです。
今では私もJavaが全く分からない新人さんに何度かVBAをやるように指導し、プログラミングを理解してもらった実績があります。
業務で使うマクロを変えるため、エクセルVBAを学んだ
私は社会人になってからエクセルVBAを学びました。
理由はエクセルでマクロ作成を行うためです。
業務で使うマクロに不満があった
実は会社の業務で使用していたマクロに不満があり、なんとか自分で改造できないだろうかと考えたのがきっかけです。
学んだ方法は完全な独学で、Webサイトの情報だけを参考にしました。
不満があったマクロは、すでに退社した人が作ったもので、とある申請書の作成を自動化するマクロでした。
しかし、現在の申請書の仕様にあっていないため、毎回手打ちで一部修正が必要になっていました。
私の場合はこのマクロさえ変えることができれば満足だったので、マクロの仕様自体を深く学ぼうとは思っていませんでした。
手をつけたが読み解けなかった
そしていざ手をつけてみたのですが、中身は思っていた以上に複雑だったため、Webサイトを参考にしながらでも読み解くことができませんでした。
そこで、一度やり方を変えてエクセルのマクロを記録する機能を使い、どの操作がどんなマクロによって動かされるのかを観察することにしました。
このやり方で遠回りしながらも学んでいき、ようやく読めなかったコードが読めていくようになりました。
理解できたところから手を付ける
そして理解できたところから、コードを変更していき理想のマクロに近づけていく作業を繰り返しました。
もちろん、はじめからすんなりと行くはずもなくエラーが多発して何度も修正を繰り返す羽目になりましたが、またそれが勉強になりました。
気がつけば簡単な業務マクロぐらいは作れるぐらいには使いこなせるようになっていました。
まとめ
このようなやり方良いか悪いかはよくわかりませんが、とりあえず私には合っていたようです。
もし目的が無い状態でプログラミングを学んでいたら、ここまで続けれなかったと思います。
やはり社会人が学ぶには目的がはっきりしていることと、自分のペースで学べる方法が必要なのではないでしょうか。
ExcelファイルをカスタマイズするためVBAを学んだ
私は学生時代は文系でプログラミングとは全く縁がありませんでした。
社会人になってからExcelVBAを習得しました。
私の場合、VBAのためにスクールに通ったり、書籍を買って集中的にプログラミングの勉強をしたわけではありません。
仕事でカスタマイズが必要になった
当時銀行で法人融資部門に勤務していた時、取引先の与信管理や信用リスク分析等をExcelベースで行っており、共通の様式として使われていたExcelファイルにVBAが使われていました。
そのExcelファイルを自分用にカスタマイズしなければならず、既存の組み込まれたVBAコードを理解し該当箇所を書き換える必要性が生じ、以下のサイトを参考にし悪戦苦闘しながらVBAコードの修正を実施しました。
参考サイト:https://www.officepro.jp/excelvba/
VBAが便利だと気づいたので他の業務にも応用
これをきっかけに、Excelファイルでこういうことが出来れば業務の効率化が実現されると思いつくようになりました。
そして、その都度、やりたいことに必要なVBAコードを上記サイト等で調べ、試行錯誤しながらプログラミングしているうちに、現在では一通りコードの記述から実行までできるようになっていました。