• ベストアンサー

エクセルでシート名をセルに表示させたい。

エクセルで複数のシートからなるファイルがあり、シート名は「4月」「5月」「6月」・・・となっています。 このシート名をそれぞれのシートの「A1」セルに表示させる方法はありますか?シート名を変更したときに「A1」セルも連動して変わるようにしたいのです。お願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.2

下記の式でも No.1さんと同じ結果になります。 =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31) なお、上式を入力する前に、当該ブックは名前を付けて保存しておくことが肝要です。

papaiyaiya
質問者

お礼

ありがとうございます。 難しいんですね。ん~

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

#3>無理なのかな~残念。 #2さんの回答を実際に試してみましたか?

papaiyaiya
質問者

お礼

出来ました。出来ました。 また、出来なかった理由もわかりました。 ファイルを保存していなかったからでした。 ありがとうございます。

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

エクセル操作では、実現不可能でしょう。通常のエクセルVBAでもシート名が変更されたというイベントは捉えられないと思うので、近いものとして ThisWorkbookのSheetActivateのイベントを使って Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Sh1 As Worksheet For Each Sh1 In ActiveWorkbook.Worksheets Sh1.Cells(1, "A") = Sh1.Name Next End Sub を入れておくと、どうでしょう。 即座には反映しないが、クリックして、そのシートをあけると、変更後の名前に変わっています。 もっと良い回答が出れば、良いが・・。 ーーー 追記。 Function sn() sn = ActiveSheet.Name End Function というユーザー関数を作りました。 A1セルに=SN()と入れましたが、変更後再計算させないと変わり ませんでした。

papaiyaiya
質問者

お礼

ありがとうございます。 無理なのかな~残念。

  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

こんにちは。 A1に =RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) でいかがでしょう?

papaiyaiya
質問者

お礼

ありがとうございます。 やってみました。 ん~。 全部同じ表示になってしまいました。 具体的には、最後に修正したシート名が全てのシートのA1に表示されてしまいました。 ん~。

関連するQ&A

  • エクセルのシート名をリスト化したい

    エクセルで一つのファイルを作成しました。 ファイル内には複数のシートが存在しています。 最後のページに印刷用のシートを作成させ、各シートからデータを抽出させて印刷できるようにしました。 方法としてはA1にシート名を入力して、各セルに=INDIRECT($A$1&"!L8")のようなリンクを張りました。 今度はA1に打ち込むシート名をリストで選べないかと思いましたが、方法はありますか? シートの数は30ほどあり、シート名は変更がでます。そのたびにリストを変更するのは手間なので、何かいい方法はありますか?よろしくお願いします。

  • 【エクセル】シート名表示セル

    1月、2月、3月、、、という見出しのシートがあります。 $A$1セルにシート名を表示させ、別のセルにそのシート名(月)より 一月少ない月を表示させたいのですが、08年1月のシート名だとうまく "12月"と表示されるのですが、1月のみだとエラーになってしまいます。 なぜなのでしょうか? 関数は単純に =TEXT($A$1-1,"m月") としています。

  • エクセルで、ワークシート名をセルから参照する

    エクセルで、ワークシート名をセルに表示する方法は書いてありますが、セルの値をワークシート名とするにはどうしたらいいでしょうか。 つまり、 「ワークシート名 → セル」 ではなく、 「セルの値 → ワークシート名」 ということです。 現状、会社が変わると決算期が変わるため、決算期を変更する度にワークシート名を変えていますが、変わった都度ワークシート名を手で変更するのは手間が掛っています。 具体的には、例えば、 3月決算の会社のファイルは、4月シート、5月シート・・・ 12月決算の会社は、1月シート、2月シート・・・ のようにシート名を変えています。 そのため、セルに決算期を入力すると、自動で各ワークシート名も変更するようにしたいのですが、どうしたらいいでしょうか。 そういう関数はないようですし、マクロ・VBAの本等を見ても、よくわかりません。 宜しくお願い致します。

  • エクセルのシート名の表示

    エクセルシートのセルに数式でシート名を自動表示することって出来ますか? シート名を変更すると、そのセルに表示されているシート名も自動的に変わるような・・・。よろしくお願いします。

  • エクセルのシート名をセルに表示させる方法

    エクセルのシート名をセルに表示させる方法を、どなたか教えていただけないでしょうか?

  • エクセルのシート名をセルにコピーさせたい

    エクセルのシートをそのままコピーしてページ数を増やして新たなシートを作っています。たとえば「Aさん」のシートをコピーして「Bさん」のシートを新しく作るんですが、現在はその作業ごとにシート名の変更とシート内のセルにある名前を変更しています。それは1箇所だけですませてますが、シートの名前を変更するだけで、同時にセル内のデータも一緒に変更できる方法はないのでしょうか?よろしくお願いします。

  • エクセルのシート名をエクセルの特定の「セル」に表示させたい。

    エクセルの表内にシート名を自動表示させ、シート名を変更したら 表の中にあるシート名も自動変更になるように、 リンクさせたいです。 ヘッダーフッターにはシート名とリンクする項目がありますが、 当方の質問は、あくまでもエクセルの「セル」にリンクさせたいのです。 お分かりになる方、どうか回答をお願い致します。

  • EXCELでシート名をセルに表示する方法

    どなたか教えて下さい。 EXCELで動的にシート名をセルに表示する方法をご存知の方がいらしたら教えて下さい。

  • Excel で別シートのセル値を表示させる(初心者)

    Excel で一つ前のシートにあるセル値を表示させる。 例えば"Sheet1"と"Sheet2"が有るとして"Sheet2"のセル"A1"へ "Sheet1"のセル"A1"の値を表示させるには、=Sheet1!A1 と入力しますが、 この<Sheet1>の部分だけを別のセル "A2" で入力した値に変更したいです。 (気持ちとしては、A2!A1) どの様にすれば良いでしょうか? 常にシートをコピーして作成し、常に一つ前のシートの同位置セルの値を 表示させたいのが狙いで、シート名は数値に設定して "A2"へ MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)-1 などを入れて方法があれば作成しようと考えています。 マクロも分かりません、関数など何か方法があればご教授お願いします。

  • 複数ファイルの同じ位置のセル内容を、それぞれファイル名・シート名にして保存したい

    VBA初心者ですが、いろいろなQ&Aを検索して、やりたいことの解決方法を模索しているのですが、私の疑問にドンピシャの回答が見つからず悩んでいます。 目的は、あるフォルダ内の、複数のランダムなファイル名のエクセルファイルについて、それぞれのファイルを開き、アクティブシートのA1セルの入力内容に基づき、そのシートの名前を変更し、ファイル名も変更して保存するという作業です。(例えば、A1に「山田」と入っていたら、シート名も「山田」にして、「山田.xls」で保存する。) マクロの自動作成で、例えば「A」というファイルは開いてシート名を変え、ファイル名を付けて保存するくらいのことはできるのですが、ファイル名がランダムに代わったり、ファイル数が複数になるとできません。 このようなマクロを作ることは可能なのでしょうか?。 よろしくお願いいたします。

専門家に質問してみよう