「Excel を使っているけど、マクロはやったことがない」という人が、マクロを作れるようになるにはどうしたら良いでしょうか?
マクロの記録を使うと、マクロの経験が無い人でもマクロが作れます。
マクロの記録の使い方
- マクロの記録を使って、マクロを作る。
- マクロを実行する。
- マクロの記録でコードが、どのように書かれているかを見てみる。
- マクロの記録を修正して、自分にあったものにする。
- 修正したマクロが正しく動くかどうかを確認する。
- マクロを保存する。
マクロの記録の使い方
たとえば、次のようなエクセルの操作を、VBAのコードで書いてマクロを作る場合で考えてみます。
マクロの例
- セルB2を選択します。
- セルB2に”5”を入力します。
たった、これだけのことでもマクロで書く場合、はじめての人には何をどう書いたら良いかわからないと思います。
しかし、「マクロの記録」を使えば次のようなコードになることがわかります。
■ コード内を「Wクリック」で選択できます。
Sub Macro1() ' ' Macro1 Macro ' Range("B2").Select ActiveCell.FormulaR1C1 = "5" End Sub
「マクロの記録」を使うには、むずかしい操作はいりません。
また、VBAの用語もほとんど必要ありません。
「マクロの記録」を使うとエクセルの操作が記録されるので、コードがわからなくてもマクロを作ることができます。
マクロ記録の作成手順
エクセルの機能にある「マクロの記録」を使って、次のような簡単なマクロを作ります。
セルB2に「こんにちは!はじめてのマクロです。」と表示させるマクロを作ります。
次に、作成したマクロの「実行」と「保存」の方法を説明します。
エクセルのシートを新しく開きます。
現在のシートはSheet1です。

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

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

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

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

マクロのコードを見る方法
「マクロの記録」のコードが、どのようになっているかを見ることができますので紹介します。
開発タブの「Visual Basic」のボタンをクリックします。

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

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

セルB2に「こんにちは!はじめてのマクロです。」と表示するマクロのコードです。
■ コード内を「Wクリック」で選択できます。
Sub Macro1() ' ' Macro1 Macro ' Range("B2").Select ActiveCell.FormulaR1C1 = "こんにちは!はじめてのマクロです。" Range("A1").Select End Sub
マクロの記録でワークシートを追加する方法
エクセル画面を開き、ワークシートタブを「右クリック」します。
メニューの「挿入」をクリックします。

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

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

マクロの記録でワークシートの追加をする方法
上記の手動のエクセルの操作を「マクロの記録」を使って、ワークシートを追加するには次の操作をします。
マクロの記録の操作
- エクセル画面の「開発」>「マクロの記録」から、マクロの記録を開始します。
- マクロ名(シート追加)を入力します。
- Sheet1のタブを「右クリック」します。
- メニューの「挿入」をクリックします。
- ダイアログでワークシートが選択されているのを確認します。
- 「OK」をクリックします。
- 「マクロの記録」を終了します。
開発タブの「Visual Basic」を開くと、コードが見られます。
■ コード内を「Wクリック」で選択できます。
Sub シート追加() ' ' シート追加 Macro ' Sheets("Sheet1").Select Sheets.Add End Sub
マクロの記録で月名を自動で入れるマクロを作る
ここで作成するマクロは、次の図のようなエクセルの「A列」に1月から12月までの月名を、自動で入力するマクロです。

マクロの記録を開始するまでの操作手順
- Excelのファイルを開きます。
- 「開発タブ」>「マクロの記録」をクリックします。
- 「マクロの記録」のダイアログが開きます。
- 名前を「月名」とします。
- 「OK」をクリックします。
- マクロの記録が「開始」されます。
エクセルの操作手順
- セルA1を選択します。
- セルA1に「1月」を入力します。
- セルA2に「2月」を入力します。
- セルA1とA2を選択します。
- 選択したままで、セルA12まで「オートフィル」します。
- セルA1を選択します。
- マクロの記録を終了します。
「開発タブ」>「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のセルに出力します。
■ 横方向(列)に月名を入れるマクロ
今回のマクロは、縦方向(行)に月名を入力しましたが、横方向(列)に月名を入力するマクロは、簡単に想像できると思います。
横方向(列)に月名を入力
- セルA1とB1に1月、2月を入れる。
- セルA1とB1を選択する。
- セルA1からL1までオートフィルすれば良いことになります。
マクロの記述は次のようになります。
■ コード内を「Wクリック」で選択できます。
Sub 月名入力列方向() Range("A1") = "1月" Range("B1") = "2月" Range("A1:B1").Select Selection.AutoFill Destination:=Range("A1:L1") End Sub
このマクロを実行すると、次のように横方向に「月名」が入力されます。

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