10/7(Mon)
2020年12月11日 16:41 更新
かいせつ先輩
Excelにはマクロという便利な機能があるよね。マクロを使いこなすことができると、Excel上級者ってイメージがある人も多いんじゃないかな。でも、ExcelのマクロやVBAについて、よくわからないって人もいるよね。
そこでExcelのマクロを学ぼうと考えているときにオススメしたい授業が、Excelマクロ/VBAの使い方。
本授業では、ExcelのマクロやVBAの基本的な考え方について知ることができるよ。VBAを学ぶときの考え方や、マクロを作るときのポイントを理解できるから、これからマクロやVBAを学びたい人はチェックしてみてね。
ーこの授業を無料で観るー
先生名:田中 亨
授業概要:企業では、売り上げデータの集計や顧客情報の管理など、さまざまな業務にExcelが使われています。ビジネスシーンでは必須とも言えるExcelですが、Excelの基本を知らないために、十分に使いこなせていなかったり、使い方に困っている、という方も少なくありません。この授業では、小手先のスキルを覚える前に重要な、「Excelとは何か」「Excelをどう使うべきか」ということを、一般社団法人実践ワークシート協会代表理事の田中亨先生に徹底的に教えていただきます。この授業をきっかけに、Excelに対する理解を深め、スキルアップしていきましょう!
猫田くん
Excelの「マクロ」とか「VBA」って、何のこと?
かいせつ先輩
まず、「マクロ」は複雑なExcelの操作を自動化する機能のことだよ。手順を記録しておけば、ボタンを1つクリックするだけであっという間に決められた操作を実行してくれるんだ。使いこなせるようになれば業務の効率化につながる、とても便利な機能だよ。
そして「VBA」は、マクロを開発するために使われるプログラミング言語のことなんだ。VBAの正式名称は、Visual Basic for Applicationsという。マクロを作るためには、VBAを使ってコードを書く必要があるんだ。マクロとVBAは、切っても切れない関係といえるね。
ちなみに、Excelの機能には「マクロ記録」というものもあるんだけど、マクロ記録のことを略してマクロとは呼ばないよ。このあと詳しい解説を確認できるけど、マクロとマクロ記録は別物だから気をつけようね。
かいせつ先輩
ここでは、授業で先生が教えてくれた、今まで誰も教えてくれなかったExcelマクロ・VBAの使い方を解説するよ!マクロはExcelの機能的な部分とは違って、覚えて選ぶものではなく、理解して作るものなんだ。
だからほかのExcelの機能と同様に頑張ってVBAを使ったコードを暗記しようとすると、どうしてもマスターできなくなってしまうよ。正しい学び方や考え方をここで知って、適切な学習の道に進もうね!
田中先生:本日は、VBAの学び方とマクロの作り方という2つのテーマについてお話します。まずは、VBAの学び方。なぜみなさんがマクロをマスターできないのか、その理由は3つあります。まず1つ目の理由は、学習の仕方が間違っていること。
マクロ(VBA)を習得して自由自在に作れるようになるには、2つのやるべきことがあります。1つ目は、マクロを作るうえで必要な素材を学ぶこと。2つ目は、学んだ素材を組み合わせるトレーニング(実技)をすること。この両方をやらないと、マクロは絶対作れるようにならないんですよ。
料理に例えると、食材や調味料、器具のことを知らなければ、料理は作れません。でも、知っていれば作れるのかというと、そうではありません。料理したことがない人の前に食材や調味料、調理器具を用意したところで、作ることはできませんよね。
マクロも料理と同じく、作るものです。マクロのイメージは、まっさらな原稿用紙に1文字目から自分でストーリーを書いていくもの。クリエイティブな作業なんです。さっきの料理と同じで、マクロもオブジェクトや構文、VBEを知っていなければ話になりません。でも、知っていればマクロを作れるかというと、作れないんです。
知識や技術を組み合わせて作るときには、また別なものが必要なんです。それは、覚えたものを組み合わせる、つまり構成力や発想力、イメージ力です。これらが養われていないと、マクロは作れないんですよ。
じゃあ養うにはどうすれば良いかというと、作るしかないんです。練習するしかないんです。中学や高校の学習教材も、知識を覚えるだけでは試験問題の解答を作ることはできませんよね。だから問題集で作る練習をします。VBAも同じなんです。まず覚えなければいけない。そして、覚えたものを組み合わせるトレーニングをしなければいけない。
続いてマクロをマスターできない理由の2つ目ですが、マクロ記録で作ろうとしていること。よくPC雑誌を見ていると、「マクロ記録で作りましょう」と書いてあります。でもこれ、無理なんです。マクロ記録は、作る機能じゃないからです。
じゃあマクロ記録はどんな機能かというと、調べる機能なんです。マクロは、まず自分で手入力して作るもの。基本的には最初にsubと打って、そこから何をどうしたいかというストーリーを考えるんです。
ただ、マクロを使いこなす上級者も全部を覚えているわけではありません。わからなかったら手を止めて、マクロ記録で実際にやってみるんです。するとコードが出てわかるから。マクロ記録が出したコードを見て理解して、自分のコードを作っていくんです。
すると、マクロ記録で出したコードは要らないから消すんです。だからマクロ記録のコードは、最後に残らないんですよ。それが普通なんです。世の中では作りましょうって言われますけど、マクロ記録では絶対にマクロを作れないようになっているんですよ。
そして、マクロ記録を使いましょうと言う人の二言目は決まっています。それは、「記録したコードをちょっと直しましょう」。皆さん「そうなのか」って思うんですが、VBAの基礎がわからなかったら、何が書いてあるのかわからないから、ちょっとも直せないんです。
だから、「まずマクロ記録」ではなく、「まず基礎を学ぶ」が大事なんです。難しいことを長々と学ぼうというのではなくて、マクロ記録したコードを読めるくらいの基礎は学びましょうということです。マクロ記録で作ろうと思ってはいけない。
マクロ記録というのは、正しいコードを書いてくれる機能じゃありません。記録したものをそのまま使えるわけじゃないんです。例えばピボットテーブルを作るためのマクロをマクロ記録で出すと、わけのわからない呪文のようなコードが出てきます。でもこれは、自分で書けば1行で済みます。呪文のような長いコードを意味もわからず唱えるか、自分で理解しているコードで速やかに書くか、どちらが良いですかという話です。そのために基礎を学びましょう。
そしてマクロをマスターできない3つ目の理由は、インターネットの情報に依存しすぎてしまっていること。インターネットを全否定はしません。しかしマクロのような技術的なことを学ぼうとするときには注意が必要です。
なぜかというと、インターネットは誰でも簡単に情報を発信できる場だからです。では、プロを除いてどういう方々がインターネット上でVBAについて語っているかというと、素人です。インターネットでは、素人でも教えられちゃうんです。
人に教えるときは、人よりちょっと詳しいだけでは駄目なんですよ。人よりうーんと詳しくないといけないんです。でもインターネットには、そういう素人の情報が氾濫しています。だから学ぶ側のみなさんがうまくフィルターを持って、書いてあることすべて正しいと思わずに、適切なアプローチをして学んでいきましょうよということです。
ちなみにマクロを作るときに大事なことは何かというと、「どうすればできるか」ではなく、「なぜそうするのか」なんです。大事なのは根拠なんです。これがわからないと、マクロって作っていけないんです。もっと言うと、VBAを学習していけないんですよということですね。
学問に王道はありません。マクロを使うと楽できます。でも、マクロVBAを習得するのは楽じゃないんです。やることはやらないといけません。基礎を学びましょう。VBAの学習の仕方はこれに尽きます。
さて、もう1つのテーマはマクロの作り方です。作り方というか、作るときの考え方ですね。
まず誤解しないでいただきたいのは、マクロは実務で使う道具なんです。実務で使う道具は、引き継がれますよね。Excelのマクロも、絶対に引き継がれるものなんです。だから、他の人が使えない道具は意味がありませんよね。他の人が読めないマクロは意味がないんです。
後任者にマクロを引き継ぐときは、2つのポイントがあります。まずは、自分がしっかり理解しているということです。自分の書いたコードを自分がわかっているということ。当たり前のように思えますが、わかっていない人が多いんです。なぜかというと、インターネット上のコードをコピペしているから。まずは自分で理解をしましょう。
そして、可読性を高めること。可読性というのは、読みやすいということです。VBAのコードにも読みやすさ、可読性があります。先ほど言ったように、マクロは引き継がれる道具です。他の人が読めるように、つまり可読性を高く書いておかなければ、意味がないんです。
そのために必要なのが、基礎を学ぶということです。マクロを使って業務を遂行しようと思うなら、基礎を学ぶことは避けて通れません。ABCがわからない人は、英語を話せませんよね。VBAも同じです。基礎がわからないと、マクロは作れません。だから基礎を学びましょう。
Q1:基礎は独学で学べますか?
A1:頑張れば学べますが、大変だと思います。なぜかというと、独学だと市販されている教材やインターネットなどに頼らざるを得ないですよね。そういったものが正しい教え方をしているとは限らないからです。
だから大事なのは、誰に学ぶかを見極めること。学ぶ人を選んで、本を読んだりWebを見たりするべきです。深い知識を持って正しく教えてくれる人を選びましょう。
Q2:最低限覚えるべきコードはありますか?
A2:VBAの場合は、こういう考え方をしないほうが良いです。覚えると考えるのがまず得策ではありませんね。マクロを作るときに1番大事なのは、イメージすること。頭の中にExcelを持てるかどうかということです。
具体的に覚えるべきコードというものはないです。それよりイメージを持った方が良いですね。ただし、最低限学ぶべき基礎はあります。