新規に作成したシートはSheet1などの名前が自動的に付けられていますが、VBAではどのように記述すれば良いのでしょうか。以下、シート名を変更する方法について解説します。
アクティブシート名を変更
シート名はNameプロパティで操作します。まず対象となるシートを指定し、続けてNameでプロパティの変更を行うことができます。それではアクティブシート名をSample1に変更してみましょう。
<コード>
ActiveSheet.Name = "Sample1"
<実行例>
シート名設定時の注意
シート名として使用できる文字は31字までなのでシート名が長くなりすぎないように調整してください。また:(コロン)/(スラッシュ)\(円記号)?(疑問符)*アスタリスク[](カッコ)といった記号は使用できません。そして、シート名を指定しない(ブランクにする)とエラーになるので注意しましょう。
<エラーコード>
ActiveSheet.Name = "***Sample***" 'シート名として使用不可のアスタリスクが含まれている'
<エラー例>
シートを指定してシート名を変更
また、シート名をSheets()で指定したりインデックス番号を指定したりしてNameプロパティを変更するコードは下記の通りです。
<コード>
Sheets("Sheet1").Name = "Sample_A" 'Sheet1を指定してシート名変更' Sheets(2).Name = "Sample_B" 'インデックス番号を指定してシート名変更'
<実行例>
シート名の取得
前述の例とは逆に、シート名を取得したい場合にはNameプロパティで取得することができます。
<コード>
MsgBox "アクティブシートは" & ActiveSheet.Name & "です。"
<実行例>
まとめ
シート名を変更できればよりイメージに近いファイルをVBAで作成することができるようになります。また、変更したシート名を指定して作業を行うこともできるのでファイル全体の操作が容易になりますね。