諸々エリア

勉強は技術

 私がプログラミングの勉強を始めたときからずっと愛用している一冊の本があります。

 矢矧晴一郎著 「勉強は技術」

 かなり以前に購入した本で、もしこの本に出合わなかったら、プログラミングはやっていないと思えるほど私にとって大切な本です。
この本からの影響で私が取り入れたいくつかのプログラミング勉強法を紹介します。

 ただ最初に申しておきますが、この本はプログラミングの本ではなく勉強一般について矢矧氏の考え方が書かれた本です。矢矧氏はアメリカのボストンコンサルティンググループで経営戦略を身につけられ、日本で草分け的存在の経営戦略コンサルタントです。プログラミングだけでなく、英語、ピアノその他いろいろなことを幅広く勉強されておられる方です。

【針先状目的】

 一般的なパソコンの勉強は一切しない。
自分のやりたいことを広く見渡してから、部分のプログラム作りに進むこと。
小プログラムは、できる限り小さく短くすること(微細化)。

 VBAにしても、専門書の第1章の最初から勉強する必要は全くありません。むしろそれは害かもしれません。
VBAの知識が全くない状況からでも、
・自分が作りたいプログラムが何かを先に決める。
・それをできる限り細分化してみる。
・その一つのプログラム(たった1行であってもいい)を作ってみる。
そのために調べるのなら本の第3章かもしれないし、第8章かもしれない。
問題としている個所を徹底して調べ、理解すること。
だから専門書の第1章から順序立てて勉強する必要は無いということです。

【共通化】

 何回も繰り返して使える機能を見つけ出して、これを共通して使えるサブルーチン(モジュール)にまとめること。

 これも私は徹底しました。
 例えば繰り返しの「Do ~ Loop」を初めて使ったら、その部分は今後他のプログラムでも当然使います。私は EverNote にそれなりのタイトルを付けて保存しています。
そうしたものが結構たまっていきました。それが後々大きな財産になりました。
必要な時に必要なモジュールをコピペするのです。変数など一部を書き換えるだけでそのまま使えます。

 これを手書きのノートに書きためることはおすすめできません。
テキストファイルでデータとしてPCに保存するから、コピペができるのです。書いて保存してたら、必要時にまたタイピングしなければなりませんので、時間的労力的無駄が発生します。
最近では使い勝手の観点から、EverNote から One-Note に変更しました。

【夢のプログラム化】

 自分個人で「夢」として実現したいことをプログラムに作ること。余り乗り気でないことを背伸びしてやろうとしても進まない。

 自分が本当にやってみたいと思うことのプログラミングに挑戦することは、非常に大切なことだと思います。当然ながらモチベーションも継続します。
「本当にやってみたい」「トライしてみたい」
これだけに絞ることです。このプログラムを作れば便利だとわかっていても、収益性があると思われても、所詮自分の気持ちが伴わなければ、ほぼ確実に途中でストップしてしまします。
これは私も何度となく経験済です。

 わずかな時間でできた小さなプログラムでも、面白く遊んで楽しむものもいろいろ作りました。反対にeBayというアメリカのオークションサイトに商品情報さえ入力すれば、英文の出品情報を自動作成し出品まで自動で完了するプログラムも作りました。製作日数も結構かかりましたが、以前からやりたかったことでもあり、面白くて一気にやり上げました。

 とにかく今のあなたのVBAの力量は全く関係ありません。知識ゼロでも大丈夫です。VBAを使った一番やりたいことを見つけてください。見つかったらそれを作るのです。小さく小さく分解して、その一つ一つを作っていくのです。それら一つ一つが出来上がるたびに面白さと喜びがきっと味わえますから。

【記録を残す】

 プログラムを作る途中でいろいろ試すことをメモに詳しく残しておく。頭は「作る」ことに熱中して、覚えることや試すことには絶対使わない。

 このメモは非常に大切です。意外とこのメモが後々大きなヒントとなって次なるプログラムの開発につながったということが度々ありました。
 また頭を「作る」ことに集中させることに私も心掛けてきました。
「覚えること」は先にお話ししたサブルーチンの共通化で「保存」すればいいことです。プログラミングの記述内容は覚えてなくても保存したことは結構頭に残っています。
「たしかあそこに書いたはず・・」
あとはそれを見つけてコピペすれば解決する話です。しかもコピペの回数が増えれば、自然に覚えてきます。そのうちコピペしなくても手が勝手に動いて書けるようになります。

 以上、主だったものを記載しました(太字の部分は 矢矧晴一郎著 「勉強は技術」 からの抜粋です)。

 これからVBAの勉強を始めよう皆さんも、気持ちを楽にして取り組んでみてください。
勉強というと、「机の前に正座して長時間本と向き合うもの」と思わないでください。
矢矧さんも言ってます。
毎日少しづつでいい。その代わり「確実に回数を多く繰り返す-少量反復」がお勧めです。