VBAでコードを書こうマクロの記録をおすすめしない2つの理由

お知らせこの記事は初心者向用マクロ学習講座|勉強範囲を限定&12本の動画で早く効果を実感の関連記事です

VBAとは何か

これからVBAの勉強を始めようと思っている皆様や勉強を始めたばかりの皆様と話をする際に「VBAとマクロとの違いが分かりますか?」と質問させていただく事があります。

ほとんどの方はボヤっと「○○な感じ」という回答であり1人として同じことを言われたことは無いです。よって解釈に大きなばらつきがあります

私としてはまずは「マクロとは?」、「VBAとは?」という定義をしっかり自分の中に落とし込んでから勉強してもらいたいです。

マクロ
マクロ

「マクロ」、「VBA」などのキーワードの定義は結構重要なんですよ

何の話をするにも同じことですがみんなで話をする時に最低でも主になっているキーワードについてみんなが分かってないと何を話しているのか分からなくなりますよね。

それと同じです。

一番最初の幹となるキーワードに対して早い段階で定義を明確にしておくことで理解するスピードが全く変わってきます。よってここで整理しておきましょう。

前回の記事では「マクロとは何か?」を説明したので今回の記事では「VBAとは何か?」について解説していきます。VBAは簡単に言いますと言語の名前です。

これで定義が明確になったのでコードを書いていきたいのですがコードは書かなくても「マクロの記録」で用意出来るのでは?と考える方も居るでしょう。

結論から申し上げますと「マクロの記録」では業務をマクロ化出来ません。コードを自作する必要があります。

「マクロの記録」があるにもかかわらずなぜコードを自作しないといけないのかについても考えてみましょう。

記事の難易度

まだ序盤戦です。1ですね。1ですがマクロの記録では出来ない事を理解するのは非常に重要です。

記事の難易度
易しい
1
2
3
4
5
難しい

オンラインミーティング

私オンラインでVBAの講師をしております。基本的には初心者様向けですが状況によっては中級者様向けにもミーティングを開催しています。ご興味ある方は以下リンクをご覧ください。

全国可【オンライン】リモートでExcelVBAを勉強しましょうおすすめ勉強法を紹介お友達との参加も可能です (VBAで定時に帰ろう) 春日井のVBAの生徒募集・教室・スクールの広告掲示板|ジモティー
【ジモティー】投稿ご覧いただきありがとうございます。「VBAで定時に帰ろう」という名前で活動しております。毎日Excelの手作業が大変。楽に仕事したいと思… (VBAで定時に帰ろう) 春日井のVBAの生徒募集・教室・スクールの広告掲示板|ジモティー

前回記事

前の記事エクセルの便利機能マクロの記録を使ってマクロを2分の動画で解説

マクロとは何かについて説明しています

この記事を読むとわかる事

VBAとは何か?が分かる様になります。

記事からわかる事
  1. VBAとは何か?
  2. ExcelVBAを勉強するメリット
  3. コードを自作する意味
定義を押さえましょう

マクロ

加えてマクロの記録を使わずにコードを自作する意味も分かる様になります。

記事の建付けは前回同様約2分の動画を見ていただきます。その後は動画の内容を補足する記事を見ていただきます。

ポイントや知っていると得する情報を追加で提供しています。合わせて見ていただくとより理解につながります。

2分動画

マクロ
マクロ

今回はVBAについて解説しています

VBAとは何かが分かる動画を用意しました

動画の中からさらに要点を絞って解説していきます。

VBAとは

単純な話ですね。言語名です。日本語とか英語と同じ事です。

プログラミング言語で例えればPythonやJavaScript、phpと同じです。これらがどんなものなのかはここでは説明しません。

回答:VBAとは何か?

VBAは言語の名前です

VBAはプログラミング言語の名前です

他の言語との関係

MicrosoftさんのExcelやWord、AccessやOutlook。PowerPoint にも VBAが搭載されています。

Excelで使うVBAはExcelVBA、Accessで使うVBAはAccessVBAです。まずは似ているけど別物という認識で良いです。

扱う要素によって一部同じ様なコードを使う時があるのですがアプリケーション毎に勉強いただく必要があるという認識でいてください。

メリット

そうなると「大変だな」と思ってしまうのですが朗報です。プログラミング言語は1つ覚えると次の言語の習得時間は短くなることが多いです。理由は覚えるべき要素が似ている為です。

例えば「繰り返し処理はVBAだと△△と書きます」という様にどの言語でも勉強するべき要素は似ていて書き方の差(方言の違い)があるぐらいです。PythonにもJavaScriptにも繰り返し処理はあります。

中でもWordやAccess、Outlook、PowerPointは同じVBAです。扱う対象物が異なるだけでVBAとしては文法はほとんど同じですので2つ目の言語としては勉強し易いです。

ExcelVBAを勉強するメリット

ExcelVBAを勉強する事は他の言語の基礎を勉強する事にもつながります

しっかり勉強して基礎となる理屈をインプットましょう。

マクロの記録を使わずコードを自作する理由

動画で見ていただいた通りです。以下機能を使う事が出来ません。

回答:コードを自作する意味-1

マクロの記録では生成できない機能がある

  • 繰り返し処理
  • 条件分岐
  • ユーザーフォーム

「繰り返し処理」や「条件分岐」については今は分からなくて大丈夫です。シリーズ後半で記事を用意しているので別途説明させていただく予定です。

上記3つの機能はマクロの記録では生成できない機能の代表例です。中でも「繰り返し処理」と「条件分岐」が使えないと皆様の業務をマクロ化するのはほとんど不可能です。

前回の動画で少し触れていますがマクロの記録では不要なコードも生成されます。全て総合して考えるとマクロの記録では実務に対応出来ないので理解が進んでくると自然と使わなくなります。

最後に決定的な理由を提示します。

回答:コードを自作する意味-2

マクロの記録で生成されたコードをメインで紹介しているテキストは基本的には存在しません

上記のような理由もあり世の中に存在するコンテンツのほとんどはコードを自作する前提で用意されています。

これがコードを自作する理由です。まだ沢山あるのですが今はこの理由だけで十分です。

まとめ

VBAとは何かについて説明しました。言語の名前です。マクロと関連して文を作ってみます。

「このマクロはExcelVBAで書かれていますね」という様な使い方をします。

本日勉強したこと
  1. VBAは言語名
  2. VBAは他言語の基礎も勉強出来る
  3. コードを自作するのはマクロの記録では再現出来ない要素がある為
VBAを勉強しましょう

マクロ

「繰り返し処理」や「条件分岐」を使えないと業務を自動化出来ない。だからコードを自作しないといけないという事が分かりましたね。

つまりコードを自作出来ないとマクロを構築出来ないのとほぼ同じです。次回からはコードを自作する為に何をしたら良いのか考えていきます。コードを書くのはその後です。

次の記事なぜ標準モジュールにコードを書くのかVBEを使って説明します

VBEについて解説しています
タイトルとURLをコピーしました