• ベストアンサー

セルの値をシートタブに表示したいです。

シート名をセルに表示するにはCell関数でできますが、逆にセルの値をシートタブに表示する方法はないでしょうか。 よろしくおねがいします!

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

これでどうですか? 一番左のシートにある A1 の値を、一番左のシートのタブに書き込みます。 タブに使えない文字が入っていたりするとスキップされますので、例えば A1 の値が日付値だとxxxx/xx/xx のスラッシュが使えないのでスキップされてしまいます。 momonagon さんが想定している値の性格にあわせ、セルの値を適宜変換してタブに書き込むように変更してください。 例えば日付値なら「2006年5月13日」といように変換すればタブに使えます。 Sub test() Dim sheetName As String sheetName = Worksheets(1).Cells(1, 1).Value On Error Resume Next Worksheets(1).Name = sheetName On Error Goto 0 End Sub

momonagon
質問者

お礼

できました!!解決していただいて、すごくうれしいです! どうもありがとうございました!!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

エクセルの関数は、「セル!」の値を取得したり、加工したり、設定するものです。 「シート名」は「セルの値」ではないので、関数では設定できません。これは現状の関数の大原則なので、よく意識してください。 それを補うように、簡単なVBAコードで、セルの値をシート名にすることができます。 ーー (1)例えば空きのシートのA1:A3に aa bb cc を入れておきます。(数は増やしても良い。だぶりがあるとエラーになる) Sheet名を変えたいシートのシートタブをを左側の3つに集めておきます。 VBEの標準モジュールに Sub test01() For Each cl In Selection i = i + 1 Sheets(i).Name = cl Next End Sub を貼り付け (2)上記空きのシートのA1:A3を範囲指定して (3)上記VBAを実行(F5キー)します。

momonagon
質問者

お礼

たいへんわかりやすく説明してくださってありがとうございます! 解決していただけてとてもありがたいです。 どうもありがとうございました!!

関連するQ&A