- ベストアンサー
エクセルでシート名をセルに表示させたい。
エクセルで複数のシートからなるファイルがあり、シート名は「4月」「5月」「6月」・・・となっています。 このシート名をそれぞれのシートの「A1」セルに表示させる方法はありますか?シート名を変更したときに「A1」セルも連動して変わるようにしたいのです。お願いします。
- papaiyaiya
- お礼率75% (90/119)
- オフィス系ソフト
- 回答数4
- ありがとう数4
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
下記の式でも No.1さんと同じ結果になります。 =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31) なお、上式を入力する前に、当該ブックは名前を付けて保存しておくことが肝要です。
その他の回答 (3)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#3>無理なのかな~残念。 #2さんの回答を実際に試してみましたか?
お礼
出来ました。出来ました。 また、出来なかった理由もわかりました。 ファイルを保存していなかったからでした。 ありがとうございます。
- imogasi
- ベストアンサー率27% (4737/17068)
エクセル操作では、実現不可能でしょう。通常のエクセル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()と入れましたが、変更後再計算させないと変わり ませんでした。
お礼
ありがとうございます。 無理なのかな~残念。
- masa_019
- ベストアンサー率61% (121/197)
こんにちは。 A1に =RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) でいかがでしょう?
お礼
ありがとうございます。 やってみました。 ん~。 全部同じ表示になってしまいました。 具体的には、最後に修正したシート名が全てのシートの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の本等を見ても、よくわかりません。 宜しくお願い致します。
- ベストアンサー
- Excel(エクセル)
- エクセルのシート名の表示
エクセルシートのセルに数式でシート名を自動表示することって出来ますか? シート名を変更すると、そのセルに表示されているシート名も自動的に変わるような・・・。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのシート名をセルにコピーさせたい
エクセルのシートをそのままコピーしてページ数を増やして新たなシートを作っています。たとえば「Aさん」のシートをコピーして「Bさん」のシートを新しく作るんですが、現在はその作業ごとにシート名の変更とシート内のセルにある名前を変更しています。それは1箇所だけですませてますが、シートの名前を変更するだけで、同時にセル内のデータも一緒に変更できる方法はないのでしょうか?よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのシート名をエクセルの特定の「セル」に表示させたい。
エクセルの表内にシート名を自動表示させ、シート名を変更したら 表の中にあるシート名も自動変更になるように、 リンクさせたいです。 ヘッダーフッターにはシート名とリンクする項目がありますが、 当方の質問は、あくまでもエクセルの「セル」にリンクさせたいのです。 お分かりになる方、どうか回答をお願い致します。
- ベストアンサー
- オフィス系ソフト
- 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」というファイルは開いてシート名を変え、ファイル名を付けて保存するくらいのことはできるのですが、ファイル名がランダムに代わったり、ファイル数が複数になるとできません。 このようなマクロを作ることは可能なのでしょうか?。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます。 難しいんですね。ん~