HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > シート名を設定する(Nameプロパティ)

即効テクニック

シート操作関連のテクニック

シート名を設定する(Nameプロパティ)

(Excel 2000)
シートの名前を設定します。シートの名前とは、シート見出しに表示されている名前のことです。

構文  Object.Name     取得/設定


  設定項目         内容
  Object           Worksheet,Chartオブジェクト

次のサンプルは、アクティブシートの名前を今日の日付に設定します。
●サンプル1●
Sub NameSamp1()

    ActiveSheet.Name = Format(Now(), "yyyy年m月d日")  '---シート名を今日の日付に

End Sub
●名前を設定するときの注意点

名前を設定する際には次の4点に注意してください。

(1)同ブック内で同じシート名はつけられない

(2)名前の長さは半角31文字以内

(3)コロン(:)、円記号(\)、スラッシュ(/)、疑問符(?)、アスタリスク(*)、左角括弧([)、 右角括弧(])は名前の文字列内に使えない
 
(4)空白の名前はつけられない

次のサンプルは、設定しようとした名前が不正な場合には、名前の設定をやり直す処理の一例です。ErrオブジェクトのDescriptionプロパティを使用し、エラーの内容をユーザーにわかりやすく表示するようにしています。
●サンプル2●
Sub NameSamp2()

    Dim MyShName As String

InputName:                                 '---行ラベル
 MyShName = InputBox(prompt:="変更するシート名を指定してください", _
           Default:=ActiveSheet.Name)   '---変更する名前の指定
 If MyShName = "" Then Exit Sub         '---キャンセルを押したとき
 On Error Resume Next                   '---エラーが発生しても無視
 ActiveSheet.Name = MyShName            '---名前の変更
 If Err.Number > 0 Then                 '---エラーが発生していた場合
     MsgBox Err.Description & Chr(13) & _
        "再度入力してください", vbCritical  '---再度入力を促すメッセージ
     On Error GoTo 0                    '---エラー処理ルーチンを無効にする
     GoTo InputName                     '---行ラベル「InputName」に移動
 End If

End Sub