毎月作るエクセルのシート。
いちいちシート名を変えるのは面倒なこと。
そんなときに、セルの値を利用して自動的にシート名をつけることができれば、同じシートをコピーして増やしていっても、楽である。
シート名のタブの所で、右クリックして表示されるメニューから「コードの表示」をクリック。
表示されるファイル名sheet(番号)(コード)という白紙の窓の中に以下の記述をコピーして貼り付ける。
D2には月を示す数字を入力している。D2はセルの書式設定で、ユーザー定義>「G/標準"月"」、として「6」と数字を入れるだけだが、「6月」と表示されることになる。
シート名は「○月」という表示にするために、D2の値に「月」をプラスしている。下のコードの「&"月"」の部分である。
///////////
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERR_HANDLER
If Target.Address(False, False) = "D2" Then
ActiveSheet.Name = Range("D2").Value & "月"
End If
Exit Sub
ERR_HANDLER:
MsgBox "現在のD2セルの値はシート名にできません。"
End Sub
///////////////
実際に、D2の値あるいは文字を変更すると、シートの名前が変わっていくことを確認することができる。