ハッキリ言って、プログラマーになってからもVBAはメチャクチャ役に立ちます。
一部では「VBAは素人向けだ」などバカにする人もいますが、そんな意見は気にしなくてOKです。VBAをすでに学んだなら、自信をもって大丈夫です!
でも「どんな風にVBAの知識が役に立つの?」と疑問を感じている思うので、実際のシステム開発で使う状況を紹介します。
自動化ツールを作成し、生産性を向上できる
システム開発では、多くの資料をOffice系のソフト(特にエクセル)で作成します。
そのエクセルで作られた資料を元に、自動で処理を行うツールを作成することがよくあります。(プログラマーやシステムエンジニアが手作業でがんばっていたら・・・ちょっとおかしいですよね?自動化するのが仕事の人たちなのに。)
よくあるのが、データベースの自動作成ツールです。
データベースの設計書(エクセル)には、どんなデータ(商品名や原価など)を管理するか細かく書かれています。この情報を元に、データベースをVBAで自動作成します。
手作業でデータベースを作成してもいいのですが、やはり時間がかかります。
大量のデータを、早く正確にチェックできる
VBやCなどいろんなプログラム言語がありますが、どの言語でもプログラムを作ったら必ずテストを行います。
未経験の人はテストを軽く見がちですが、製造に60時間かかれば、テストは40時間くらい行います。
そのテストなんですが、実績系(検査結果や売上実績など)のプログラムの時は、大量のデータを使用します。
これを1つ1つ目でチェックしていたら、とてもじゃないけど終わりません。
でもVBAを使用できれば、ExcelやAccessで大量データでも早く正確にチェックすることができます。
(※もちろん、無作為に一部のデータを取り出して、人間の目でもチェックは必要です。)
VBAで身に付けたプログラムの考え方は、他の言語でも生きる
VBAでプログラムを作る時、いきなりコードを書くことはないと思います。
実際には、まず日本語の命令に落とし込み、その後にVBAでプログラミングしていきます。(すでにVBAに慣れている人は、無意識でやっていると思います)
「テスト結果を自動判定するプログラム」を作りたい時、次のように日本語の命令に落とし込みます。
- 80点以上の時は、合格
- 80点未満は、再試
- 判定結果を、セルA1に出力
このあと、日本語の命令をVBAでプログラミングします。
言語が変わっても、この日本語の命令に落とし込む考えは変わりません。日本語の命令を、他の言語(VB.netやC)でプログラムしていくだけです。
プログラミングでは、この日本語の命令に落とし込むところが、正直1番難しいところです。なので、VBAでこの考え方を理解できていれば、間違いなく他の言語を学ぶ時も生きてきます。
まとめ
ネット上では、必要以上にVBAをバカにするような意見があったので、今回は役立つ面にフォーカスをあてて書いてみました。
VBAはエクセルがあれば誰でもプログラミングができるため、素人が書いた汚いプログラムがあるのは事実です。
でも、それ以上に役立つことや、メリットの方が間違いなく大きいです。なので、VBAを使ってプログラミングをドンドン学習して、プログラマーへの転職のキッカケにしてください。
関連記事