Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 最初のマクロの記録 | VBAとExcelオブジェクトモデルの紹介
ビジネス自動化のためのExcel VBA

最初のマクロの記録

メニューを表示するにはスワイプしてください

マクロレコーダーは、VBAコードを自分で書かずに実際のコードを確認できる最速の方法です。手動で操作を行うと、ExcelがすべてのクリックをVBAステートメントとして記録し、それを再生したり、触れたオブジェクトの構文を学んだりできます。

繰り返し作業の記録

  1. 開発タブでマクロの記録をクリック;
  2. マクロ名をFormatEmployeeHeaderと入力(マクロ名にスペースは使用できません);
  3. 「マクロの保存先」でThis Workbookを選択;
  4. OKをクリック — Excelが記録を開始;
  5. 1行目(ヘッダー行)を選択し、太字にして薄い緑色の塗りつぶしを適用;
  6. 開発タブで記録終了をクリック。
carousel-imgcarousel-imgcarousel-img

マクロの再実行

手動で行った書式設定を元に戻すには(Ctrl+Z)、ヘッダーを通常の黒いテキストに戻します。その後、開発タブのマクロをクリックし、FormatEmployeeHeaderを選択して実行をクリックします。Excelは記録中に作成したコードを再生し、同じ書式設定を即座に適用します。

生成されたコードの理解

VBE(Alt+F11)を開き、新しいモジュールを確認します。次のような内容が表示されます。

すぐに注目すべき点が2つあります。まず、あなたが行ったすべての操作がVBAの1行に対応しています。範囲の選択は Range("A1:F1").Select となり、太字にする操作は Selection.Font.Bold = True となります。

次に、Select の後に Selection に対する操作が続くというパターンに注目してください。これはマクロ記録ツールには便利ですが、経験豊富なVBA開発者が手書きでコードを書く際の方法ではありません。

マクロ記録ツールができないこと

  • 判断を行うことができません — If 文、ループ、条件付きロジックは不可;
  • 範囲や値を固定で記録するため、データの形が変わるとすぐに動作しなくなります;
  • ユーザーからの入力を促したり、何かを検証することはできません;
  • 手書きのコードに比べて冗長で遅いコードを生成することが多いです;
  • Outlook など他のアプリケーションと連携することはできません。

マクロ記録ツールは自動化エンジンではなく、翻訳者のようなものと考えてください。オブジェクトやプロパティの名前を学ぶのに最適で、簡単な一時的な書式設定マクロには便利ですが、本格的な業務自動化(ロジック、ループ、エラー処理を含むもの)は手書きで作成する必要があります。本コース全体はそのスキルを身につけることを目指しています。

タスク

記録、分解、読み取り。

  1. HighlightIT という名前の2つ目のマクロを記録します。Department 列を選択し、任意のセルに太字かつ斜体のフォントを適用してください — まだ条件付きにする必要はありません。手動で書式設定する様子を記録しましょう。
  2. 両方のマクロを連続して実行し、書式設定が正しく再適用されることを確認してください。
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  3
some-alt