はじめに
人事を経験していると、元エンジニアで良かったと思うことがあります。
でもそれは「プログラミングができる」ということではなく、ロジカルに物事を考えられることができることです。
IT業界出身の方や、コンサルティングをやっていた方は理解できるかもしれませんが、ロジカルに物事を考えるというのは、一目で分かる技術というわけではありません。
数日、いや、数カ月一緒に働いて、「この人頭いいなあ」と思うことで初めて「ロジカルに物事を考えているからかも」とつながっていくわけです。
社会人歴が10年近くなった私からすると、VBAを勉強するよりも、ロジカルシンキングを高めれば良いと思うのですが、一方で、一目でわかる特殊能力を活用するということも非常に重要だと思っています。
それが私にとってのVBAです。
エンジニアの時はC#から始まり、特にVBAに携わることがなかったのですが、エクセルを使う機会が非常に多かったので、独学でVBAを勉強していきました。
どちらかというと開発よりも保守よりの業務が多かったため、業務時間内にいい感じにプログラミングスキルを会得できませんでした。
人事に転職し、VBAが求められることになり、断片的にだましだまし開発を行う機会が多くなり、自宅での独学も数増えていきました。
今ではVBAの開発であればエンジニアレベルで対応できると思います。それくらいの技術レベルを身に着けることができたと思います。
ただ、言っておきたいのが、人事などのバックオフィス業務では、エンジニアレベルでのエンジニアリングスキルは必要ないということです。
では、どこまで学んだらいいのか?何を学んだら終わりなのか?
今後動画コンテンツなどを作っていきたいと思いますが、このホームページでは、文章で語っていければ良いかなと思います。
全体の流れ
まず、間接系職種に求められるレベルはそこまで高くないです。結論として、そんなに難しいことを多く学ぶ必要はないです。
重要なのは、以下の3つと考えています。
- 作りたいものをイメージする力
- プログラムのコードのリファレンス(参照)先の探し方
- プログラムを作成した実績
Ⅰ.作りたいものをイメージする力
VBA初心者にあり得るのが、何から始めていいかわからない。ということです。
私自身も全く同じでした。
幸いだったのは、1年目の時に一人でVBAを用いた開発業務をしなければならない環境に置かれ、4日間で一つのプログラムを作るという案件にアサインされました。
この時、まーったく何から始めればよいかわからず、とりあえず、1日目はエクセルを触ってみて、ネットサーフィンしながら過ごしました。
その後、なんとなく、頭の中でイメージができたものの、それをどうやって作ればいいかわからない。という状態になりました。これで一日目終了です。
2・3日目にネットで調べつつ実際にVBAでコードを書いていっていたのですが、4日目に上司に見せたら、、
上司「なにこれ・・・」
わし「いや、完成品ですけど。。」
上司「設計書見せて」
わし「なにそれ」
という状況になり、死ぬほど怒られ、泣かされました。
結局顧客が求めているものと全然違うものになっていたのです。
結果、+4日かけて先輩にもアドバイスをもらって、完成させたわけですが、ものすごく安っぽいぼろぼろの爆弾みたいなプログラムが完成しました。。
ここで分かったことは、頭の中でイメージができた状態の時になんらか、メモでもよいのでどういう順番で何を作ったら良いのかを書き残し、それを見てもらえればよかった。というわけです。これが設計なのです。
今後、どのような形で書き残していけば良いのかは解説するとして、頭の中で完結するものだけは作ってはいけないということは覚えておいた方がよいです。
Ⅱ.プログラムのコードのリファレンス(参照)先の探し方
さて、頭の中でイメージしたものを設計書メモに落とし込んだ後は実際にプログラムを作っていきます。
とはいえ、いきなりプログラムを作るのは難しいです。何やっていいかわからないですよね。
ということで、重要なのは、「検索力」なのです。
プログラマーがプログラムを作成する上で、ゼロからプログラムを作っているというケースはほぼないです。
前に作られたプログラムを流用している。だとか、ネットで調べて近しいコードを流用しているというケースがほとんどだと思います。
なので、自分が作りたい、書きたいコードを見つける力、「検索力」というのは非常に重要なスキルとなります。
VBAでのプログラミングは情報が多いことがメリットとなります。逆引き辞典的な書物もたくさんあるので、非常に容易に開発できる素晴らしい言語だと思います。
あとは、どのように自分が知りたい情報を知るか・・・?これが重要なのです。
Ⅲ.プログラムを作成した実績
結局のところ、プログラムを作ることのできる方、だれに聞いても、「作って覚えた」と、口をそろえて言います。
私もそう思います。
ネットで調べたツギハギのコードで一つのプログラムを完成させる。
↓
前回調べた内容を若干流用しつつ、少しきれいな形のプログラムを完成させる。
こんな感じで、前回のプログラムを流用しつつ、プログラミングを覚えていくというのがスタンダードな流れになります。
今でこそ、わたし自身作ったツール、プログラムは100を超えると思います。
でも未だに新しく作るツールは過去のものを流用していたり、何なら、まだ新しい発見があったりします。
結果、学びは止まらないですし、ずっと楽しめるものなのだなあと思います。
作ったツールは誰かが活用して、自分のスキルが上がっていく。このループを事務系職種で回していければ唯一無二の存在になれるのではないかと私は思います。
ただ、重ねて言いますが、エンジニアレベルの技術は求めなくてよいのです。
ニーズをキチンと正確に捉えて、VBAを活用した提案ができ、ツギハギのコードでもよいので、実際に作れるようになれればいいのです。
これからのコンテンツ
これから私が作っていきたいのは、
最速で人事などのバックオフィス業務に携わる方がVBAを使ってコーディングできるようになるコンテンツです。
今までエンジニアと人事を経験した私だから教えることのできるやり方だと思います。
具体的には
- 作りたいものをイメージする力
- プログラムのコードのリファレンス(参照)先の探し方
- プログラムを作成した実績
この三つを一気に習得できるプログラムにしていきます。
実際に作るシーンを想定して、どんなものを作ればよいか考えて(Ⅰ)、わたしから提供するサンプルコードを使ってプログラムを作っていきます。(Ⅱ)そして、この作ったプログラムがまた次のプログラムを作る際の知識になるのです。(Ⅲ)
このサイクルを4回ほど繰り返せば、大概のことはできるようになります。
ぜひお楽しみにー。
[…] ということで、VBAの初学者に向けた記事だけ紹介しておきます。本Webサイトのツールを使いこなせるようになると、なんとなくVBAが分かるようになるかも・・・!? […]