
ロードマップ全18回!
上から順にやっていこう!
ただし、Level1〜3の内容は習得済みの方が対象!
もしまだの人がいたら、Level4以外を読んできてね。

準備編

VBA学習・マクロ作成をする前にやるべきことを
5つにまとめたよ!
VBAを書く前に知っておけば
理解しやすくなるからね。
マクロやVBAって何?
VBAができると自動化できると聞いたことあるけど
「そもそもVBAって何?」
「マクロってのも聞いたことあるけど違うの?」
簡潔に言えば、マクロとは「VBAという言語で作られたプログラミング(自動機能)」です。
詳細はこちらの記事をチェックしてください。
マクロ作成前に知っておきたい6個の楽するコツ
いきなりVBAを学習しろと言われても
何をどうやって見たらいいか分からないと思います。
なので、VBAの各論を学ぶ前にマクロ作成のイメージを掴みましょう。
6個のポイントのうちの1つ「暗記は一切しなくていい」があります。
マクロは所詮、「私たちがエクセルを手作業で動かす一連の流れ」をVBAで書いただけ。
つまり、マクロで書きたいことは「手作業の一連の流れ」であり
その1つ1つをVBAで表現すればいいのです。
やりたいことさえ分かっていれば、こんなことをVBAで書きたいと検索すればいいです。
VBAは暗記せずとも、「調べ、理解し、利用する力」があれば書けます。
理解するための土台をこのサイトで身につけましょう!
ほかのVBA学習ポイントを知りたい方はこちらをチェックしてください。
VBEの画面解説
VBAを書き込む画面はエクセル内にはありません。
VBEという画面に書き込みます。
その画面自体の解説とその表示方法を学習しましょう。
マクロの保存方法とセキュリティ
せっかく作成したマクロも保存方法を間違えば
努力が全て無かったことになります。
そこで正しくマクロを保存し
さらにセキュリティ対策までバッチリ行いましょう。
詳細はこちらの記事をチェックしてください。
マクロの記録
「マクロの記録」という機能があります。
これは、実際に手作業をしたものをVBAに書き起こしてくれます。
応用ができない機能なので、実務には活かせません。
しかし、コピペなどのコードを確認したいときに
「マクロの記録」を利用して確認できます。
具体的にどのように利用するのか確認したい方はこちらをチェック!
基本操作編

エクセルクエストでのLevel1に当たる基本操作を
VBAで自動化できるようにするパートだよ。
案外、基本操作を自動化できるだけで
今までより圧倒的に作業が楽になるんだ。
Rangeだけでセル操作
まずはセルを選択できるようになりましょう!
私たちがセルに入力やコピペをするとき、全てセル選択から始まります。
・セル選択→数値を入力
・セル選択→コピー→セル選択→貼り付け
そんなセルの選択方法がVBAには2つあります。
例えばセルA1の場合はこの通り。
・Range(“A1”)
・Cells(1,1)
エクセルクエストではRangeしか使いません!
理由は2つです。
・Rangeの方が圧倒的にイメージしやすい
・余計なことの暗記に労力を使いたくない
では実際にどのようにRangeを使うのかは、こちらの記事をチェックしてください。
オブジェクト・プロパティ・メソッドを簡単に理解する
VBAの解説を読んでいると1番最初に「???」となるのが
オブジェクト・プロパティ・メソッドといった専門用語です。
当然、3つがどのようなものか知っていた方がいいです。
しかし、完璧な理解をしていなくてもマクロ作成はできます!
オブジェクト・プロパティ・メソッドを簡単に見える読み方を紹介します。
「.(ドット)」を「の」と捉え、
オブジェクト(名詞)、プロパティ(形容詞)、メソッド(動詞)と考えましょう。
例えば「セルA1」の「値」の「削除」みたいな感じです。
これはVBAの9割の文に当てはまります。
この読み方を習得し、VBAの9割を読めるようになりましょう。
インテンドとコメントで未来の自分を助ける
マクロを作成していると、VBAの行数が長くなってしまいます。
そんな長い文章に「段落分け」をして読みやすくするのがインテンドです。
ブロックごとに分かれて読みやすくなります。
そして、各ブロックごとにコメントをつけると
VBAを読解しなくても、日本語で何をしているパートか分かります。
マクロは作成して1ヶ月も経てば、細かいことは忘れます。
そこでインテンドとコメントがあると、思い出すのに役立ちます。
変数とデータ型
VBAでは切り離せない変数を学習します。
変数については、手作業でのイメージだとセルでの計算が分かりやすいです。
計算する場合「=100+50」とするよりも
A1に100を入力した上で「=A1+50」にした方が楽ですよね。
セルA1という箱に「100」を入れて使えば
他の数字に変えたくなったら数式ではなくA1の値を変えるだけです。
メンテナンスが非常に楽ですよね。
このデータを入れる箱(セルA1のような)が変数です。
そしてその箱に入れられるデータの種類を特定するのがデータ型です。
より詳しく確認したい方はこちらをチェックしてください。
複数のシートやファイルを操る
エクセルで作業をするとき1つのシートだけで完結しないことが大半ですよね。
他のシートからデータ抽出したり、他のファイルのデータを使うこともあるでしょう。
そこでVBAでも他のシートやファイルのセルを選択できるようになりましょう!
より正確かつ応用できるセル操作が身につきます。
コピペ
シートもファイルも関係なくセル選択できるようになって
ようやくコピペに挑戦できます。
ただしコピペも難しいことはありません。
どのくらい簡単かというと
「セルA1 = セルB2」という式がコピペです。これだけです。
ここで唯一重要なことは
「=(イコール)」が「←」であるということです。
つまり先ほどの例では「A1←B2」であり、A1にB2を代入しています。
詳しい内容はこちらの記事をチェックしてください。
保存・印刷・PDF変換
集計した後、ファイル保存・印刷やPDFに変換しているでしょう。
その作業もVBAを使えば自動で行えます。
保存と印刷は非常に簡単です。
「.Save」や「.PrintOut」をシート名の後につければOKです。
PDF変換は少々複雑です。
そんなときは、記事にあるサンプルをコピーして使いましょう!
ロジック編

ここからがVBAの真骨頂!
・条件ごとに処理を変更
・100行の処理を一気に完了
・ユーザーに条件を指定させる
など臨機応変に対応できるマクロができるよ!
条件分岐
Level3のIF関数で学習した条件分岐をマクロにも搭載しましょう!
条件分岐ができるマクロであれば、状況に応じた処理ができるようになります。
これさえできれば、あなたが自動化できる業務の幅が広がります。
繰り返し処理
マクロといえば「繰り返し処理」と言っても過言ではありません。
ここでは「For Next」を学習します。
1行目から順に100行目まで同じ処理をさせても一瞬で完了します。
ただし、変数と条件分岐の理解が足りないと「繰り返し処理」を自在に操ることはできません。不安があれば、このタイミングで1度復習してもいいでしょう。
オートフィルタと並べ替え
Level2で学習した「オートフィルタ」と「並べ替え」もVBAで自動化できます。
今までの内容に比べると少し複雑ですが、手作業でこの2つができる方なら理解できるはず。
手作業でやっている時を思い出しながら、VBAと向き合いましょう!
インプットボックス
マクロを作成していると、抽出条件だけ変更したい時があります。
例えば、11月の売上データは欲しいときもあれば、12月の利益データが欲しいときもあります。
大まかなマクロの流れが同じなのに作り直すのは面倒です。
そこでインプットボックスを利用して、ユーザーに条件を決めさせましょう!
メッセージボックス
マクロを実行してみると、完了したのか分からないことが大半です。
そこでマクロ終了が分かりやすいように
メッセージボックスで「処理完了」と合図を出しましょう。
ちなみにメッセージボックスは意外と応用できます。
「Yes・Noで条件分岐」「エラー修正にマクロがどこまで動いているか確認」など
好きなように利用しましょう。
Call
VBAで書けることが増えるとマクロがどんどん長くなりますよね。
長すぎるマクロは読みにくくなってしまいます。
しかも書いている途中で変数のバリエーションにも困ってしまいます。
役割ごとにマクロを作成すると、マクロの行数を短くできます。
なぜ役割ごとのマクロを作成するといいかと言うと
「Call」を利用すると、他のマクロを呼び出せるからです。
ロードマップを終えて

お疲れ様!
以上がマクロ作成に必要な18ステップだよ。
少し多いけど、これらがあれば大抵の作業は自動化できるんだ。
当然、これだけじゃできないこともあるよ。
でもこれまで学習した理解があれば
「必要なものを検索・理解・使う力」が付いているから安心!
新しく使いたい機能があっても自分で切り開けるよ!





















コメント