「VBAを知らない社内の人に教えるとしたらどう教えるか?」を考えてみた
👜
「VBAを知らない社内の人に教えるとしたらどう教えるか?」が 話題になっていたので、自分ならどうするかを考えてみます。
漠然と「VBAを教える」ということであれば、まずはマクロの自動記録のことを教えます。エディタを表示した状態で、自分がした操作がどういう風に記録されるかを見てもらえば、処理とコードが連動していることがわかります。そして、コードのどこをいじれば処理がどう変わるかをいろいろ実験してみてもらいます。
もしこれで興味が出てきたなら、もう少し役に立つ、ちょっとしたツールを作りながら、基本的な文法などを説明していきます。個人的には、「複数のファイルからデータを取得してまとめる」というようなツールがいいと思います。例えば、同じレイアウトのcsvファイルが複数あるとしましょう。ファイルは月ごとに分かれているんだけど、それを12か月分まとめたい。やることは簡単、手でもできる、けど、ちまちまやるのがめんどくさい。こういうのは自動化のメリットがわかりやすく、題材としてはいいです。
この題材だと、ファイルの開閉、シートや範囲の扱い、データの転記といった、一般的にVBAでよくやる処理が学べます。また、自動記録では学ぶことができない、for文や変数の話もできます。さらに、csv内から複数のデータを取得したい場合はどうするか、ファイル名に規則性がない場合はどうするか、取得したいセルの位置がファイルごとに違う場合はどうするか、などの発展的な話題にもつなげやすいです。
ある程度基本的なところを教えた後は、参考になる&信用できるサイトをいくつか紹介します。あとは独学でやってね、わからないところがあったら聞くけど、という感じで。作りたいものを一緒に作るでもいいし、書いてもらったコードにアドバイスをするのでもいいです。
一人で学び始める前に、VBAのリスクとして、ファイルやフォルダの削除とかメールの送信といった処理までできてしまうこと、VBAで実行したことはctrl+zが効かないことなど、取り返しがつかなくなるようなことは説明しておきます。
自分だったら、こういう感じでやるかなぁ。