ExcelVBA Programing Excel Microsoft Office

【ExcelVBA】入力した文字列をシート名にする簡単マクロ

※ページのリンクに一部広告が含まれています。





今回は、Excelシートに入力している文字列を一発でシート名にマクロを解説します。

シート名を作る時って、シートに入力している一覧から作成することが多いかと思います。その場合、イチからシート名を1つ1つ入力してくのはとても面倒です。

せっかく、一覧に文字列があるなら、その文字列をシート名に設定できるようにしましょう。

マクロコードが3行で完結できるとても簡単なマクロなので、この記事を真似するだけで簡単に作ることができます


関連記事 【ExcelVBA】一覧表からシート名をまとめて作成する方法

実行イメージ

完成イメージ

今回の記事に関してご不明な点があれば、問合せフォームからご連絡ください。

<動作確認環境>

  • Windows 10 Home(バージョン22H2)
  • Microsoft Office Professional Plus 2019





この記事を書いたひと
筆者のRYO。MOSマスター資格者。Excel操作テクニックやマクロVBA知識が豊富。本業で日々Excelを使い倒しており、現場に近いExcelの悩み解決が得意。

筆者のRYOはMOSマスター資格を取得しており、毎日のようにExcelを使い倒しているので、Excel操作に関する知識が豊富。


マクロコード

マクロコードの実行画面


▼マクロコード(コピペ用)

「ActiveSheet.Name = ActiveCell.Value」で「アクティブシート名にアクティブセルの文字を代入する」という意味です。

Name プロパティ

Excel VBAでシート名取得するには、 「Name プロパティ」を使用します。

現在アクティブなシートは「ActiveSheet 」ですから、 ActiveSheet.Name = ActiveCell.Value で、「アクティブシート名にアクティブセルの文字を代入する」 という意味になります。

シート名に使えない文字があるので注意ください。
使えない文字を使用した場合は、マクロがエラーになります。

シート名に使用できない文字一覧

  1. コロン (:)
  2. バックスラッシュ ()
  3. スラッシュ (/)
  4. クエスチョンマーク (?)
  5. アスタリスク (*)
  6. ブラケット ([], {})
  7. シングルクォート (')
  8. ダブルクォート (")
  9. グレーターサイン (>)
  10. レスサイン (<)
  11. ピリオド (.)
  12. セミコロン (;)
  13. バーティカルバー (|)



実行時エラーが表示された場合は、「終了」ボタンをクリックしてから、 これらの使えない文字を含まないセルを選ぶか、使えない文字を削除後、マクロを再実行しましょう。

このマクロを個人用マクロブックや、Excel2007以降なら、クイックアクセスツールバーにボタンを登録しておくと便利です。

Name プロパティの応用

ActiveSheet.Name = ActiveCell.Value を反対にしたら、どうなるでしょうか? 

つまり、こういうこと

実行すると、シート名がアクティブセルに入力されます。
以下のようにRange("A1").Valueに変えれば、シート名がA1セルに入力されます。


シート名から文字列にしたい時は、この方法でお試しください。


今回の解説は以上です!

記事に関する質問やお問い合わせがあれば、問い合わせフォームからご連絡ください。




教える人
初心者におすすめのExcel関連書籍




  • この記事を書いた人
  • 最新記事

RYO

30代サラリーマンです。誰かの行動のヒントになる「IT×Tips」や「学び」を日々発信。 【保有資格】MOS マスター/ITパス/統計スペシャリスト/VecotrWorks技能/ロジオペ2級など

-ExcelVBA, Programing, Excel, Microsoft Office
-, , ,