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

ここでは、マクロの記録で簡単なマクロを作って見たいと思います。

ここで作成するマクロは、次の図のようなエクセルの「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

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

ワークシートのセルの装飾については次の記事が参考になります。
■関連記事■ ワークシートのセルを装飾をする

以上で「月名を自動で入れるマクロを作る」の説明を終わります。