VBAのマクロの記録の使い方|できることとできないこと・逆引き活用法

VBEには「マクロの記録」という機能があります。実際にExcel上で行った操作を自動的にVBAコードに変換してくれる便利な機能ですが、できることとできないことを正しく理解することが大切です。

この記事では、マクロの記録の仕組み・生成されるコードの読み方・限界と有効な使い方を解説します。

マクロの記録で生成されるコードとは?

「A1セルをコピーしてA2に貼り付ける」操作を記録すると、次のようなコードが自動生成されます。

Sub Macro1()
    Selection.Copy
    Range("A2").Select
    ActiveSheet.Paste
End Sub

操作をそのままコード化しているため、Selection.Copy(選択セルをコピー)・Range("A2").Select(A2を選択)・ActiveSheet.Paste(貼り付け)という流れになっています。

注意点として、最初にA1が選択されていたのでA1がコピーされましたが、別のセルが選ばれている状態で実行するとそのセルがコピーされてしまいます。記録されたコードはアクティブな状態に依存するため、意図した動作にするには修正が必要なことが多いです。

マクロの記録でできないことは何か?

VBAを構成する要素は「オブジェクト・プロパティ・メソッド・関数・ステートメント」の5つですが、マクロの記録でコード化されるのは前半の3つ(オブジェクト・プロパティ・メソッド)のみです。

次のような処理はマクロの記録では作れず、自分でコードを書く必要があります。

  • If〜Then(条件分岐)
  • For〜Next(繰り返し処理)
  • 変数の宣言と計算
  • MsgBox・Format などのVBA関数

マクロの記録の有効な使い方とは?

マクロの記録を「操作内容を調べるツール」として活用するのが最も効果的な使い方です。

たとえば「セルに罫線を引く」VBAコードがわからないとき、実際に手動で罫線を引きながら記録すると、対応するコードが確認できます。毎回書籍やインターネットで調べるより、記録して読み解く方が早く習得できます。

' 記録で生成されたコードの例(罫線の設定)
With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
End With

このように生成されたコードを読んでプロパティ名やメソッド名を覚え、その後は自分でシンプルに書き直す、という学習サイクルが効果的です。

まとめ

  • マクロの記録は操作をそのままVBAコードに変換してくれる機能
  • 記録されるのはオブジェクト・プロパティ・メソッドのみ。条件分岐・繰り返し・関数は記録されない
  • 生成されたコードはアクティブな状態に依存するため、そのまま使うと誤動作することがある
  • 「どのコードを書けばいいかわからない操作を調べる」逆引き辞典として使うのが最も有効
  • 記録 → 読み解く → 書き直す、のサイクルでVBAの習得が加速する

よくある質問

マクロの記録はどこから起動しますか?

「開発」タブの「マクロの記録」ボタンから起動できます。開発タブが表示されていない場合は、Excelのオプション→「リボンのユーザー設定」から「開発」にチェックを入れると表示されます。

記録したマクロをVBEで修正できますか?

できます。記録後に Alt+F11 でVBEを開くと、生成されたコードが確認・編集できます。不要な .Select を削除したりシートを明示したりして、より安定したコードに書き直すことができます。

記録されたコードに不要な部分が多いのはなぜですか?

Excelは操作を忠実に記録するため、自動的に選択された状態なども含めてすべてコード化します。実際に必要なのはその一部だけなので、不要な SelectActivate などを削除してシンプルにするのが実務でのコードの改善方法です。

マクロの記録で作ったコードはそのまま実務で使えますか?

単純な繰り返しのない操作なら使えます。ただし、データ件数が変わったり条件によって動作を変えたりする場合は、手動で For〜NextIf〜Then を追加する必要があります。

記録中に間違えた操作をしてしまったらどうなりますか?

間違えた操作もすべて記録されます。記録を止めてから該当部分のコードを手動で削除するか、やり直して再記録するのが確実です。


動画で学びたい方へ

「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。

VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。

動画で学ぶExcelマクロ|JIMOVEオンラインスクール

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール