EB000007_VBAエキスパート(ExcelVBAベーシック)合格講座/第七回:マクロの記録

VBAエキスパート(ExcelVBAベーシック)合格講座/第七回:マクロの記録 ExcelVBA Basic

このページの内容について

このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第七回記事です。公式テキスト第2章「マクロの記録」の内容について解説します。自分でも手を動かしながら読み進めてください。

マクロの記録

「マクロの記録」の機能と目的

「マクロの記録」はExcel上での操作を記録し、Excelが自動でマクロを記述してくれる機能です。これはExcelVBA(マクロ)を学び始めるきっかけとして非常に優れた機能です。しかし、実務上この機能を使う機会はスキルが向上するほど少なくなっていきます。「マクロの記録」で記述されるコードは人間の動きをそのままトレースしており、非効率な動きもすべて記録してしまうからです。強いて「マクロの記録」に目的を与えるとすると、マクロの関数や構文を調べることです。シート名を変更したり、データが入力されている最終行まで移動したりするようなマクロをパッと書けないとき「マクロの記録」で生成されたコードから必要な部分を抜き出し、自身のマクロの組み込むという使用方法です。公式テキストでも推奨されています。

「マクロの記録」には「相対参照で記録」という機能があり、この機能を使えるだけでマクロの記録でできることの幅が大きく広がります。公式テキストには言及がなく、試験範囲ではないようなので詳細な説明は割愛します。相対参照でマクロを記録する(外部リンク)

「マクロの記録」の使用方法

「マクロの記録」ボタンを押下

「開発」タブ⇒「コード」⇒「マクロの記録」ボタンを押下します。「マクロの記録」のダイアログボックスが開きます。開発タブが表示されていない方はこちらの記事を参照してください:開発タブを表示する

ダイアログに設定を入力し、OKを押下

「マクロの記録」をする際に設定できる項目は以下の通りです。

マクロ名(M)

任意のマクロの名称を入力します。命名規則は以下の通り
①名前の先頭は英文字、ひらがな、カタカナ、漢字のいずれかである必要があります。
②名前に、空白、「?」、「*」等の記号の使用不可。「_」は使用可。

ExcelVBA(マクロ)に共通する命名規則として「名前の先頭に数字を使用できない」というものがあります。

ショートカットキー(K)

半角アルファベットを指定できます。入力しない場合、ショートカットキーは設定されません。既存のショートカットキーと同じアルファベットを指定することもでき、その場合、マクロのショートカットが優先されます。大文字を指定した場合「Ctrl」+「Shft」+「アルファベット」がショートカットキーとなります。

PC全般に言えることですが、ショートカットキーはより小さいアプリケーションが優先されます。例)Windows < Excel < マクロ

マクロの保存先(I)

■作業中のブック
 マクロの記録を実行するブックにマクロが記述されます。

■新しいブック
 マクロの記録開始時に、新しいブックが開き、新しいブックにマクロが記述されます。

■個人用マクロブック
 後述します。

説明(D)

マクロの説明を記述できます。「開発」タブ⇒「コード」⇒「マクロ」から説明を見ることができます。

Excel上でマクロに記述したい任意の動きをする

新しいブックを開いてみたり、データが入力されている最終行までジャンプしてみたり、シートを追加してみたり、マクロの記述方法を調べたい動きをします。

「記録終了」ボタンを押下

マクロの記録を開始すると「マクロの記録」ボタンが「記録終了」ボタンに切り替わっています。調べたい動作を終了したら「記録終了」を押下します。
※「マクロの記録」「記録終了」ボタンはステータスバーからでも操作可能です。

記録されたマクロの確認

「マクロの記録」で記述されたマクロは標準モジュールに記録されます。ブックを起動して最初に記録するマクロはデフォルトで「Module1」に「Macro1」として記録されています。VBEを起動(「Alt」+「F11」)し確認してみましょう。

【PR】VBAエキスパート試験対策記事

当サイトでは、オデッセイコミュニケーションズ社が運営する試験であるVBAエキスパートExcel VBA ベーシックExcel VBA スタンダード)の出題範囲をベースに用語や各種関数の解説などを行っています。試験合格に向けて必須と言われる公式テキストに沿って解説をしています。受験をするか悩んでいる方、テキストとは別視点の解説を見てみたい方、受験はしないがExcelVBA(マクロ)に興味がある方へ向けた記事です。

Comment