文字列をSheet名にするマクロ

表のタイトルをシート名にする~すぐに役立つ3行マクロ

選択セルの文字列をSheet名にする

3行マクロ 1回

入力した文字列をSheet名にするマクロ

シート名は、分かりやすい名前に変更するに越したことはありませんが、
一度に大量のシートを作成する場合などは、ついつい、面倒に感じてしまいます。 しかし、大抵は、シートに作成した表のタイトルを、そのまま付ける場合が 多いですよね。

それなら、入力した文字列(表のタイトルあるいは選択セル)をシート名にするマクロを作っておけば、シートが何枚あってもさほど手間ではありません。
(サンプルファイルは、こちらから 3行マクロ1回サンプルデータ
Excelバージョン:Excel20192016201320102007

表のタイトルをシート名にする

(1)表のタイトルをシート名にするという3行マクロです。 シート名はわかりやすい名前に変更するに越したことはないですけれども、 一度にに大量のシートを作成する場合などは、ついつい面倒に感じてしまいます
シートに名前をつけるマクロ
サンプルでは、ボタンにマクロコードを割り当てているので、セルを選択してから、 「選択シート名を選択セルの文字に変更」ボタンを押すとシート名が変わります。
シート名が変わる
例では、A2セルにSheet1という元のシート名が入力されているので、 選択セルをA2に変更すれば、シート名も変更できます。

文字列をSheet名にするマクロのコード

コードは、
コードです。
下記のコードをコピーして、標準モジュールに貼り付ければ、そのまま使用できます。€€
Sub シート名を選択セルの文字に()
    ActiveSheet.Name = ActiveCell.Value
End Sub
    

Name プロパティ

Excel VBAでシートの名前を取得する場合は、 name プロパティを使用します。 現在アクティブなシートはActiveSheet で取得できますから、 ActiveSheet.Name = ActiveCell.Value となります
(2)このマクロには、一つ注意が必要です。 それは、シート名に使えない文字があること。
セルに「/」(スラッシュ)や「:」(コロン)など含まれると、シート名に使えない文字なので、当然ながらエラーとなります。
下記一覧にある文字(というより記号のような)は、シート名には使わないようにしましょう。 ' * / : ? [ \ ] ’ ' * / : ? [ \ ] ¥
(3)実行時エラーが表示された場合は、「終了」ボタンをクリックしてから、 これらの使えない文字を含まないセルを選んで、マクロを再度実行しましょう。
このマクロを個人用マクロブックや、Excel2007以降なら、クイックアクセスツールバーにボタンを登録しておくと便利です。

Name プロパティの応用的なこと

このコードは、シート名はセルの値と同じという意味ですが、 ActiveSheet.Name = ActiveCell.Value セルの値は、シート名だというように、反対にしたら、どうなるでしょうか? ActiveCell.Value = ActiveSheet.Name
Sub シート名を選択セル入力()
    ActiveCell.Value = ActiveSheet.Name
End Sub    
実行すると、シート名がアクティブセルに入力されます。
以下のようにRange("A1").Valueに変えれば、シート名がA1セルに入力されます。
Sub シート名をA1セル入力()
    Range("A1").Value = ActiveSheet.Name
End Sub    

こちらもおすすめ