マクロの記録の作成手順と使い方

「Excel を使っているけど、マクロはやったことがない」という人が、マクロを作れるようになるにはどうしたら良いでしょうか?

マクロの記録の使い方

  1. マクロの記録を使って、マクロを作る。
  2. マクロを実行する。
  3. マクロの記録でコードが、どのように書かれているかを見てみる。
  4. マクロの記録を修正して、自分にあったものにする。
  5. 修正したマクロが正しく動くかどうかを確認する。
  6. マクロを保存する。

というように、覚えていくのが良いと思います。

マクロの記録の使い方

たとえば、次のようなエクセルの操作を、VBAのコードで書いてマクロを作る場合で考えてみます。

マクロの例

  1. セルB2を選択します。
  2. セルB2に”5”を入力します。

たった、これだけのことでもマクロで書く場合、はじめての人には何をどう書いたら良いかわからないと思います。

しかし、「マクロの記録」を使えば次のようなコードになることがわかります。

  ■ コード内を「Wクリック」で選択できます。

Sub Macro1()
'
' Macro1 Macro
'
    Range("B2").Select 
    ActiveCell.FormulaR1C1 = "5" 
End Sub

「マクロの記録」を使うには、むずかしい操作はいりません。
また、VBAの用語もほとんど必要ありません。

「マクロの記録」を使うとエクセルの操作が記録されるので、コードがわからなくてもマクロを作ることができます。

マクロ記録の作成手順

エクセルの機能にある「マクロの記録」を使って、次のような簡単なマクロを作ります。

セルB2に「こんにちは!はじめてのマクロです。」と表示させるマクロを作ります。
次に、作成したマクロの「実行」と「保存」の方法を説明します。

1.エクセルのシートを新しく開きます。
現在のシートはSheet1です。

2.開発タブの「マクロの記録」をクリックします。

3.「マクロの記録」ダイアログになります。
「マクロ名」は変更することができます。
「OK」をクリックします。

4.「マクロの記録」が始まります。
セルB2を選択します。
セルB2に「こんにちは!はじめてのマクロです。」と入力します。

5.セルA1を選択します。
マクロの記録の「記録終了」をクリックします。
これで、マクロが完成しました。

マクロのコードを見る方法

「マクロの記録」のコードが、どのようになっているかを見ることができますので紹介します。

1.開発タブの「Visual Basic」のボタンをクリックします。

2.VBE(Visual Basic Editor)の画面が開きます。
標準モジュールにあるプラス(+)をクリックします。

2.「Module1」を「Wクリック」します。
右側にコードが表示されます。

3.セルB2に「こんにちは!はじめてのマクロです。」と表示するマクロのコードです。

  ■ コード内を「Wクリック」で選択できます。

Sub Macro1()
'
' Macro1 Macro
'
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "こんにちは!はじめてのマクロです。"
    Range("A1").Select
End Sub

マクロの記録でワークシートを追加する方法

1.エクセル画面を開き、ワークシートタブを「右クリック」します。
メニューの「挿入」をクリックします。

2.ワークシートのダイアログが開きますので、必要なものを選択して「OK」をクリックします。

3.ワークシートを選択してクリックすると、「Sheet4」が追加されました。

■ マクロの記録でワークシートの追加をする方法

上記の手動のエクセルの操作を「マクロの記録」を使って、ワークシートを追加するには次の操作をします。

マクロの記録の操作

  1. エクセル画面の「開発」>「マクロの記録」から、マクロの記録を開始します。
  2. マクロ名(シート追加)を入力します。
  3. Sheet1のタブを「右クリック」します。
  4. メニューの「挿入」をクリックします。
  5. ダイアログでワークシートが選択されているのを確認します。
  6. 「OK」をクリックします。
  7. 「マクロの記録」を終了します。
開発タブの「Visual Basic」を開くと、コードが見られます。
  ■ コード内を「Wクリック」で選択できます。

Sub シート追加()
'
' シート追加 Macro
'
    Sheets("Sheet1").Select
    Sheets.Add
End Sub

マクロの記録で月名を自動で入れるマクロを作る

ここで作成するマクロは、次の図のようなエクセルの「A列」に1月から12月までの月名を、自動で入力するマクロです。

マクロの記録を開始するまでの操作手順

  1. Excelのファイルを開きます。
  2. 「開発タブ」>「マクロの記録」をクリックします。
  3. 「マクロの記録」のダイアログが開きます。
  4. 名前を「月名」とします。
  5. 「OK」をクリックします。
  6. マクロの記録が「開始」されます。
エクセルの操作手順

  1. セルA1を選択します。
  2. セルA1に「1月」を入力します。
  3. セルA2に「2月」を入力します。
  4. セルA1とA2を選択します。
  5. 選択したままで、セルA12まで「オートフィル」します。
  6. セルA1を選択します。
  7. マクロの記録を終了します。

「開発タブ」>「Visual Basic」を開いてコードを確認すると次のようになります。

  ■ コード内を「Wクリック」で選択できます。

Sub 月名()
'
' 月名 Macro
'

'
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "1月"
    ActiveCell.Characters(2, 1).PhoneticCharacters = "ガツ"
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "2月"
    ActiveCell.Characters(2, 1).PhoneticCharacters = "ガツ"
    Range("A1:A2").Select
    Selection.AutoFill Destination:=Range("A1:A12"), Type:=xlFillDefault
    Range("A1:A12").Select
    Range("A1").Select
End Sub

■ コードの説明
• Range("A1") = "1月"
 ’Range("A1")のセルに、「1月」を代入するという意味です。
• Range("A1:A2").Select
 ’Range("A1:A2") A1とA2のセルを選択する。
• Selection.AutoFill Destination:=Range("A1:A12")
 ’選択したA1とA12のセルをオートフィルします。
• Destination:=Range("A1:A12")
 ’オートフィルしたものをA1からA12のセルに出力します。

■ 横方向(列)に月名を入れるマクロ
今回のマクロは、縦方向(行)に月名を入力しましたが、横方向(列)に月名を入力するマクロは、簡単に想像できると思います。

横方向(列)に月名を入力

  1. セルA1とB1に1月、2月を入れる。
  2. セルA1とB1を選択する。
  3. セルA1からL1までオートフィルすれば良いことになります。

マクロの記述は次のようになります。

  ■ コード内を「Wクリック」で選択できます。

Sub 月名入力列方向()
  Range("A1") = "1月"
  Range("B1") = "2月"
  Range("A1:B1").Select
  Selection.AutoFill Destination:=Range("A1:L1")
End Sub

このマクロを実行すると、次のように横方向に「月名」が入力されます。

以上で「マクロの記録の作成手順と使い方」の説明を終わります。