こちらの記事で紹介していますが、私はマクロ未経験から約10ヶ月で高度なマクロを使えるようになりました。
http://www.fastclassinfo.com/entry/time_and_difficulty_to_learn_vba
実務に限って言えば、エクセルマクロでグラフを自動作成するマクロを書いたのは勉強を始めて1,2ヶ月の時期でした。
プログラミング初心者だったことを考えれば、かなり早く習得した方です。
もちろん、プログラミングに適性があった部分はあります。最大の要因は他にあります。
それは学習方法です。
これを達成できた背景には3つの理由があります。
[1] 演習問題から解いた
[2] 実務を標的にした
[3] 一日で詰め込まない
一つずつ解説します。
[1] 演習問題から解いた
私がエクセルマクロを教えるときに必ず伝えることがあります。
それは、演習問題を解くことです。
なぜなら、初心者がマクロを習得するとき、演習問題を解くことで得られるメリットが大きいからです。
例えば、大学受験では教科書よりも演習問題を解いて勉強する人が多いです。
それは、演習問題を解答して答え合わせをすれば、自分が理解している部分とそうではない部分がよく分かるからです。
逆に、教科書を見るだけの勉強はお勧めしません。それは効果が低いからです。
そのため、演習問題から始めることをお勧めします。
「演習問題を解く」か「人に教える」ほど自分の中に定着する
ラーニングピラミッド(National Training Labolatory, Bethel, Maine)という考え方があります。これは「平均学習定着率」を示すものです。
能動的になればなるほど学習の定着化を図れるとされています。
裏を返せば、受動的になればなるほど定着化しないということです。
ラーニングピラミッドによると
[1] 講義を受ける-5%
[2] 資料や書籍を読む-10%
[3] 視聴覚(ビデオや音声等による学習)-20%
[4] 実演を見る-30%
[5] 他者と議論する-50%
[6] 実践による経験、練習-75%
[7] 他者に学んだことを教える-90%
と言われています。
下に行くほど([7]に近いほど)定着率が高くなります。
ここで、演習問題を解く=[6] 実践による経験、練習に該当します。
このとき、人に教えるという行為は、[7]に該当するため、[6]より高い定着率が期待できます。
あなたがこれまでの経験を振り返ったときに、印象に残るのは実践による経験や人に教えた経験のはずです。
一方で、講義を聞いただけではほとんど記憶にも残っていないはずです。
このように丸暗記の勉強では定着しないのです。
そのため、「人に教える」か「演習問題を解く」ことを優先することをお勧めします。
ただ、マクロ初心者の段階では人に教える機会を作るのは難しいので、演習問題を解くのがもっともいい方法と言えるでしょう。
逆に、講義を受けたり資料や書籍を読んだりするだけはおすすめしません。
演習問題→教科書や講義の順で勉強する
ここで注意したいのが、演習問題から始めることです。
なぜなら、演習問題から始めることで、より教科書や講義の重要な部分が分かるようになるからです。
私がお勧めする教材であれば、まず演習問題を眺める。そして、演習問題を頭に入れた状態で、教科書や講義の内容を観るのです。
そうすれば、演習問題を解くために必要な情報に集中できます。
この利点は、雑多な情報を聞かなくて良くなることです。最初は演習問題に必要な知識だけを入れるといいです。
演習問題に必要な知識さえあれば、実務で活用できるようになります。
そのため、演習問題を解くことから始めることをおすすめします。なお、演習問題は眺めるだけでも構いません。
解くことではなく、自分に何が足りていないかを見つけるのが目的だからです。
ぜひ、演習問題を解く→教科書や講義という順で勉強してみてください。
[2] 実務を標的にした
2つ目に意識したのは、常に実務の改善を考えていたことです。
実際、私はマクロを勉強し始めた当初から、こんなことをしたいとか、あんなことをしたいとかいつも思っていました。
エクセルマクロのサイトを見ては、早く自分もワードと連動させたいとか、メールを自動送信できるようになりたいと思っていました。
また、にあの業務は、ワードと連動させたら、楽になりそうとか、メール送信したら、手間が減らせるなと思っていました。
これが、マクロ勉強を続けることができた要因だったと思っています。
まずは自分の業務から改善する
実務を意識するのは大切です。しかし、いきなりチームや部署の業務を改善するのは、オススメしません。
まず、最初に実践するのは、自分の業務改善です。その理由は以下の3つです。
1.仕事の流れを把握しており、面倒な部分を理解している
2.やり方を変更しても、周囲への説明が必要ないから
3.自分で改善したい業務を選べるから
もちろん、できるなら上司やチーム全体の業務を改善してもかまいません。しかし、上司やチームの方は、エクセルマクロの難易度を考慮せずに、要望を伝えてきます。
そのため、要望に応えることができる自信がつくまでは、上司やチームの業務をマクロで改善するのはお勧めしません。
これといった業務が見つからない場合はこちら
もし、エクセルマクロを使って効率化したい業務が思い浮かばないなら、以下の2つを効率化することをお勧めします。
・データ集計 ・報告書の作成
この2つを狙うのには理由があります。詳しくは以下の記事で解説しています。
http://www.fastclassinfo.com/entry/excel_macro_beginners
何から始めるか思い浮かばない人は、この記事をご覧ください。
[3] 一日で詰め込まない
一日ですべてやるより、短い時間を長期間やった方が記憶に定着することが知られています。
これは、「ヨストの法則」として知られています。
例えば、学校の各科目の授業は一日で詰め込まずに、1週間の中で数回に分けて実施しています。
1日で7時間勉強するより、毎日1時間を7日間続ける方が効果が期待できるのです。
これは、この法則に従っているからです。
加えて、人は忘れる生き物です。
エビングハウスの忘却曲線というものがあるのですが、これによると、何も復習しない場合は、2日で70~80%は忘却します。
しかし、繰り返し、復習することで、忘れるスピードが遅くなることもわかっています。
まとめ
エクセルマクロを本格的に学ぶときは以下の3つを意識してほしいです。
[1] 演習問題から解く
[2] 実務を標的にする
[3] 一日で詰め込まない
これを意識すれば、上述のとおり記憶の定着率が上がるからです。
そして、これを意識すれば、学ぶ量をグッと減らせます。
マクロ初心者が教科書や講義はすべて覚えるのはハードルが高いです。
しかし、演習問題から解くことで、雑多な部分(今の自分が学ばなくていい部分)を極力排除して学ぶことができます。
また、実務を標的にすることで、実務で使えるマクロを作ることができます。自己満足ではなく、本当に仕事で使うことで、達成感や充実感も得られます。
さらに、一日でなんとかしようとせず、細切れに勉強することで、定着率や学習効果を高めます。
これを意識すれば、短期間で成果につながる勉強をすることができます。これが高い学習効果のある勉強法です。