見出し画像

3日でエクセルマクロ(VBA)を覚えた方法

初めて上司からマクロ制作を頼まれた時、私はそんな機能がエクセルにあるなんて全く知りませんでした。しかし、そんな状態でも3日で頼まれたシステムを完成させ、その後2週間ほどで思い通りのマクロが書けるようになりました。

あの頃の成長速度を日々の学習でも活かしたいな〜、と思ったので今回は当時の勉強方法をまとめてみました。

前提

1.事前に多少のプログラミング経験あり

マクロに触れる前に、html、css、C++などは書いたことがありました。基礎は身についている状態です。

2.誰にでも合う学習法ではない

当然ながら、誰にでも合う学習方法とは限りません。悪しからず。

習得手順

1.自動記録で書いたマクロを読み解く

エクセルには「自動記録」という機能があります。これは、録画ボタンを押した後に行った操作を、自動でマクロに書き込んでくれる機能です。
この機能で生成したマクロを読み解いて、基本的な書き方を理解していきました。

理解と言ってもふんわりしていて、Range("A1").Selectと打つとセルを選択できるんだな〜とか、Range(Rows(1)).Deleteで行削除か〜とか、それくらいです。

2.調べながらコードを改変する

大変便利な自動記録ですが、ちょっとした問題があります。それは固有のセルしか選択できないことです。そこは変数で取得していきたいところ。

こういった壁にぶつかった時は、Google先生に質問しながらコードを書き換えていきました。
「VBA セル 変数」や「VBA ループ」などで検索しまくり、解決するまでいろんな記事を読んでは書き換え、読んでは書き換えの繰り返しです。

3.エラーと格闘(理解を深める)

改変すると当たり前のようにエラーが出ます。
そんな時もGoogle先生に質問します。エラーが出なくなるまで、調査、修正、実行の繰り返しです。

そう、根性論です。

しかしこの経験があったからこそ、何かしらエラーが出た時に予測が立てやすくなりました。回り道も決して無駄ではありません。

どうして熱量を保てたか?

仕事が楽になった

マクロによって一瞬で仕事が片付く瞬間がたまらなかったんです……!
「これを覚えたら自分が得をする」という、絶大なメリットはモチベーションを保つのに非常に有効でした。

パズルみたいで楽しかった

これは敵性の問題な気がしますが、プログラムを組んでいる時間は、まるでパズルゲームを説いているような感覚でとても楽しかったんです。
煮詰まったら散歩に出かけ、あーでもないこーでもないと思案し、「この方法ならいけるかも!」と閃いたコードを書く、実行する、上手くいく、やったー! って感じです。これは参考になりませんね、はい。


以上、こんな感じで3日で覚えました。
何かの参考になれば幸いです。(なるのだろうか?)

最後までお読みくださり、ありがとうございました〜!

この記事が気に入ったらサポートをしてみませんか?