初心者の方がExcelVBAを学ぼうと思うと、まずあの難しいプログラミングを「どうやって覚えるか?」「構文の覚え方」というのが気になって知りたくなると思いますが、その考え方自体が根本的に間違っているというのを冒頭にお伝えしておきます。
はっきり言います。丸暗記しようとする考えは「悪」です。
「すぐに使える」ことが一番大事
もう今はExcelVBAで大きく困ったり悩んだりすることがほぼなくなった僕ですが、そんな僕でも構文は一切暗記していません。何なら久しぶりに書く構文なんかは、たまに「あれ?これどうやって使うんやっけ?」となり、全然その場でググったりします。
要は「すぐに使える」ことが大事ということです。
必要な時に頭の引き出しから「使い方」を滞りなく出して来れて、引き出しの滑りが悪くなって出にくくなった時は、サクッとググって30秒で滑りをよくして引き出しを開けるようにする。
ではこの引き出しに入っている「使い方」とはいったい何を意味するのでしょうか?「使える」と「暗記する」の違いは何なんでしょうか?
シーン別に使用パターンを蓄積していく
セル操作のひとつに「range()」という書き方があります。
これは【worksheet(“一覧表”).Range(“A1”).value = “あいうえお”】と書くと、「一覧表というシートのA1セルに”あいうえお”と入力しなさい」という命令になります。
ただ、これだと固定のアクション、つまり何があっても「A1セルにあいうえお」しかできません。
実際にVBAで書いて実装したい処理内容は、そんな固定的なアクションで済むことはほとんどないと思います。
例えばA1セルからA10000セルまで、一気に”あいうえお”と入力させたいとなると
Worksheet(“一覧表”).Range(“A1”).Value = “あいうえお”
Worksheet(“一覧表”).Range(“A2”).Value = “あいうえお”
Worksheet(“一覧表”).Range(“A3”).Value = “あいうえお”
Worksheet(“一覧表”).Range(“A4”).Value = “あいうえお”
Worksheet(“一覧表”).Range(“A5”).Value = “あいうえお”
・
・
・
Worksheet(“一覧表”).Range(“A10000”).Value = “あいうえお”
と書くと、単純にそれだけで1万行になってしまいます。
実際は、この場合は固定でセルを指定・操作するのではなく、繰り返し処理(forループ)を使っておこないます。
For 行 = 1 to 10000
Worksheet(“一覧表”).Cells(行,1).Value = “あいうえお”
Next 行
この書き方をすると、たった3行の記述で1万行分(A1セル~A10000セル)の処理がおこなえます。
さらに、列もAだったり、時にはCだったりと、条件に応じて可変で処理したい場合なんかは
For 行 = 1 to 10000
Worksheet(“一覧表”).Cells(行,列).Value = “あいうえお”
Next 行
として、列は別のところで動かすと、A列だったりC列、D列だったりと、その場その場で異なる動きをさせることができます(今はわからなくても大丈夫です)。
3つ例をあげて、かなり省略してはいますが、「セルへの出力」ひとつ取っても、やり方のパターンは無限にあるということです。
お分かりかと思いますが、その全パターン分を覚えるのは絶対に無理です。
あなたが今覚えようとしている、その本に書いてあるVBAの書き方。それはあくまで「その本の中で扱っている題材のものを作ろうとした時の書き方」であって、今後それを、そっくりそのまま使うシーンが訪れることはまず無いと言っていいでしょう。作りたいものも、守らないといけない・満たさないといけない条件も、何もかもがまったく違うんですから。
これくらい無謀なことを、今あなたはやろうとしているんです。
そりゃ無理ですよ。
間違っても、暗記できないからと言って、自分の能力が低いからだ、とか、センスが無いからだ、とか思わないでくださいね。そんなこと誰にもできませんから安心してください。
大事なのは、シーン別に使用パターンを蓄積していくことです。
色々使い方を実践練習で経験して、さばき方のパターンを体に覚えさせるような形です。
繰り返し繰り返し、地道にこのトレーニングをすることで、少しずつ引き出しの数が増えて、引き出しの中身も充実してきて、引き出しの滑りも良くなっていきます。
よく「1週間でVBAをマスター」みたいな甘い誘い文句のサービスやセミナーがありますが、そんな短い期間での習得は有り得ません。
とにかく泥臭く、地道にトレーニングを重ねていき、大量の引き出しを設けていくこと。これに尽きます。
楽して習得なんて、無理です。
継続して独学トレーニングを重ねていくコツ
Excel・VBAの独学トレーニングを地道に重ねていくコツは、「わからないことをすぐに解決させること」です。
わからないことが出てきて、一生懸命に解決を模索して、それでもわからなくて。何日悩んでも解決の糸口が見つからなくて。。。
正直、この状態に陥っている時が一番しんどいです。僕も死ぬほど経験したので、その気持ちが痛いほどよくわかります。
この状態って、ダイレクトにモチベーション低下に繋がるんですよね。どんどんどんどんやる気が削がれていきます。
独学で頑張っている人は、同じ経験をしたことが少なからずあると思います。
Excel・VBAの独学トレーニングにおける一番の敵は「途中で諦めてやめてしまうこと」。つまり挫折です。
まあ何においても共通して言えることではあるんですが、とにかく諦めてやめてしまっては、元も子もありません。何もかも終わり。
なので、「わからないことをすぐに解決させること」が、挫折の芽を摘み、挫折を回避するもっとも有効な手段なんです。
わからないことをすぐに解決できないから困っている
おっしゃるとおりで。
早期解決を望むのはみんな同じ気持ち。じゃあどうするか。
「わかる人に聞く」が一番早いです。もうスピード感的に、これしかないです。
というのも、わからないことが多い初心者時代は、「何をどう検索して調べて解決に向かえばいいのかわからない」状態です。
わからないけど、どうわからないのかがそもそもわからない。
「あーーーこの解決方法だれか教えてくれよ!てか、この完成形を作って誰か作って見せてくれよ!!お手本欲しいよ!!!!」
僕自身は、毎日こんなことを思っていました。
そもそも、書籍にしろGoogle検索にしろ、ある程度その「わからない」を言語化しないと、答えにたどり着くのは難しいんですよね。検索にもテクニックは必要です。
んで書籍もGoogle検索も同じですが、全部丁寧に1から10まで説明が書いてるわけではなくて、間が微妙に省略されてたりして。③から④に進めなかったりするんですよね。その3.5の部分を見せてくれよ!!って感じです。
一方、わかる人間に質問すると、経験則から意図を汲み取ってくれたり、時には答えを先に提示してくれたりと、そこまで言語化テクニックがなくても解決にたどり着けます。
的確さは、やっぱり人の回答が一番です。
なので、会社の中で出来る人を探すとか、スクールに通うとか、「すぐ質問してすぐ解決にたどり着ける」環境に身を置くことが、挫折を回避してトレーニングを続けていくもっとも良い選択だと思います。
精神論では片づけられないしんどさがそこにはある
「すぐ質問してすぐ解決にたどり着ける」環境を作れずに地獄を見たのが、わたしです。
もうがむしゃらにただただ気合いだけで乗り切りました。テクニックもクソもありません。
それ故に、あの時質問できる人がいれば、あんなしんどい思いもせず、無駄な回り道もせず、もっと効率的にスピーディーに習得できたのにな・・・なんて振り返ってみると強く感じます。
もちろんその辛い時期を乗り越えたから今があるのですが。
やり方は、今だからこそ言える結果論ですが、トレーニング・学習のための環境作りは、精神衛生上にも本当に大切なことだと思います。
これから習得を目指す人には同じ経験をしてほしくない
Excel・VBAを思い通りに使いこなせるようになると、冗談抜きで、誇張抜きで、見える世界が変わります。
事務処理において、本当に怖いものがなくなります。
大抵のことは、ちょっと頭を捻るとクリアできるような身体になります。
求人の条件に書いてある「Excelが使える人」に「うーん、大丈夫かな」なんて思わず、「どんとこい!!」と思えるくらいの余裕が生まれます。
皆さんが描く理想像って、最終的な目的は違えど、ベクトル的には共通してこういうことではないでしょうか?
その理想をかなえるために、せっかく頑張って習得しようとスタートしたのに、挫折するのはもったいない。何も無いところからのスタート、そのゼロからイチが本当に素晴らしい。それだけで、まず立派です。
そんな素晴らしい努力を絶やさないように、気合いで乗り切ろうとして苦しくならないように、自分が蓄積してきた知識・スキルを最大限に活用して、できる限りみんなのサポートをできればなと思っています。
0→1が難所
何もない0の状態から1に持っていくところが実は一番大変で、ストレスもたまるし、労力もかかります。
裏を返せば、ここさえ乗り越えればスムーズに進んでいくということです。
0→1で挫折しないためにも、まずは小さな成功体験を積み重ねること。動く感動を味わうこと。ここから始めてみましょう!
ということで、それを手助けするサービスのご紹介。
この度「初心者がエクセルマクロを回り道せずに習得していくための手引書(最短距離で身に付けたい人向け)」をnoteで記事公開しました。
エクセルマクロの0→1を最短距離で進むための基礎を身に付けることを目的とし、実際にサンプル課題を作ってみて、目で読むだけではなく頭と体で覚えられるような内容になっています(第1弾のみ公開中で、今後どんどんコンテンツは追加していきます)。
わからないところが出てきた時に、色々なサイトを横断して苦労して調べなくても、このnote内だけで完結できるような構成にしていくつもりです。また筆者は当ブログ含め、noteも毎日閲覧していますので、記事内でわからないことがあればコメントで自由に質問していただいて構いません。
とにかく、あなたのエクセルマクロ習得のお手伝いができればと強く思っていますので、ぜひ活用してみてください。
地道に頑張っていきましょう!!!
コメント