• ベストアンサー

Excel2003 シート名をセルに引用したい

Excel2003の質問です シート名をそのシート内のセルに引用する関数又は方法はありますか? (毎回入力の必要が無いようにしたいのです)

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

セルの情報を取得するCELL関数と、文字列を切り出すためにRIGHT関数・LEN関数・FIND関数を組み合わせれば、シート名をセルに表示できます。 ワークシート名を表示させたいセルに、 =RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))) と入力します。 ただし、一度も保存していないファイルではエラーになりますので、前もって保存してからご使用ください。

tobecont
質問者

お礼

回答ありがとうございました。 関数式使わせて頂きます。 >関数を組み合わせれば 今後それぞれの関数の特徴を、しっかり理解していこうと思います。 ありがとうございました

その他の回答 (2)

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

このコーナーに質問する前に、Googleで「シート名 関数」で照会すればすぐ、沢山解説が出るのです。有名な質問なので。 こういう習慣をつけることが、WEB内容の充実により、今後は大切です。 http://www.cre8system.jp/blog/2006/10/excel.html http://dreamy.boy.jp/kan54.htm http://integer.exblog.jp/2904812/ http://www.relief.jp/itnote/archives/001414.php ユーザー定義 「シート名 関数 ユーザー定義」 http://support.microsoft.com/kb/113392/ja ほか多数。

tobecont
質問者

お礼

>有名な質問なので やはりそうでしたか。 大手ポータルサイトとOKWave内を検索したのですが、 辿り着かなかったので、ここで質問してしまいました。 検索ワードのイメージが、悪いのですね。 リンクありがとうございました。 貴重なお時間を使わせて、ゴメンなさい。

  • mcsp
  • ベストアンサー率46% (6/13)
回答No.2

 各々のワークシートの特定のセル(たとえば A1)にそのシート名を 入れるのであれば、以下の VBA を使ってみてはどうでしょうか? Sub getWSname()  Dim myWS As Worksheet   For Each myWS In Worksheets    myWS.Activate    Range("A1").Value = ActiveSheet.Name   Next End Sub

tobecont
質問者

お礼

何かの機会に、使用してみます。 回答ありがとうございました。

関連するQ&A

  • 【Excel】シート名の取得

    Excel2003を使用しています。 シート名をそのシート内のセルに入力する数式に使いたいのですが、関数でシート名を取得することは可能でしょうか? イメージ的には、ヘッダーやフッターにシート名を表示させるような感じで、シート名を変更したら、セルの表示も変更できるようにしたいのですが… 以前、別件で同様のことを質問したことがあり、マクロでなら可能という回答をいただいて、参考のURLも記載していただいていたので、URLを見ようとしたのですが、これが数ヶ月前のことでして、URLを見ることができなくなっていました。 よろしくお願いします。

  • セル内の文字をシート名として使いたい。

    Excel2000または2002です。 セル内の文字例えばA1に「あいう」と入力されていたら その「あいう」というのをシート名として使うことはできますか? VBAでよろしくお願いします。

  • Excelのシート名を引用した関数は?

    シート名"台帳"のA列に他のシート名を記載しておき、B列以降に、各シート名の必要な情報を引用表示させたい。その時のセルの関数はどうすればいいのでしょうか? シート名"台帳"   A  B      C     D 1 名前 生年月日  出身地   年齢 2 信長 ?(1)    ?(2)    ?(3)  3 秀吉 ?     ?     ?  4 家康 ?     ?     ?  シート名"信長"   A    B 1 生年月日 5/5  2 出身地  名古屋 3 年齢   50  この質問の表現で意味解りますか?

  • 別シートのセルを3つ飛ばしで引用したいです

    初心者の為、説明不足になりましたらすいません。 Excel2007を使用しているのですが、別シートのセルを3つ飛ばしで引用したいのですが出来なくて困っています。 例えて言うと・・・ シート名:商品別      列A   列B  列C 行1   商品1  単価  2000 行2       販売数 20 行3       売上  40000 行4   商品2 単価  1000 行5       販売数 10 行6       売上  10000      ・      ・      ・ というシートの、売上の金額の部分だけ(例ではセルC3、C6・・・)別のシートに シート名:売上一覧      列A   列B 行1   商品1  40000 行2   商品2  10000 行3   商品3 25000      ・      ・      ・ というように列Bに引用したいのですが、3つ飛びなのでオートフィルでは =商品別!C3 =商品別!C4 =商品別!C5 ・・・ となってしまいます(泣) 手入力で =商品別!C3 =商品別!C6 =商品別!C9 ・・・ と入力すればよいのですが、引用しなきゃいけない行が1000行あるし 他のシートでも同様の事をしなければいけないので、関数を使用して 入力する方法があったら教えて欲しいです☆ どうかお知恵を貸して下さい☆ よろしくお願いします☆

  • EXCEL:セルに表示されているテキストをシート名にしたい

    仕事で請求書関係のEXCELを作っています。 会社情報というシートの会社名(A3セルからA16セルまで)が変更されると、 会社別にある請求書など(各社3シートあります)の会社名が変わるようにしてあります。 下記のコードを使って、各シートの会社名が変わるとシート名も変わるというようにしようと思いましたが、 表面上はテキストでも関数セルのため、セルに直接入力をすれば変わりますが、このままではシート名が自動で変わらないですよね。 ちなみに変更したいシート名は、 シート名        内容 ○○会社       ⇒日報データ ○○会社請求     ⇒請求書 ○○会社請求(鏡)  ⇒請求合計 となり、これが各社分(現在は20社分)あります。 毎月5社ぐらい会社名が変動しますが、 データを入力する事務員さんはEXCEL初心者なので、 毎回シート名を変更することが難しく、作業を自動で行いたいのです。 私自身も、現在VBAを勉強中のため自分の能力ではこれが精一杯で、 困ってしまいました。 どのようなコードを追加したらいいのか、どなたか教えていただけませんでしょうか? どうかよろしくお願いします! Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Count > 1 Then Exit Sub If .Value = "" Then Exit Sub If .Address(0, 0) = "A1" Then On Error GoTo ELine ActiveSheet.Name = .Value On Error GoTo 0 End If End With Exit Sub ELine: MsgBox "その名称はシート名になりません", 16 End Sub

  • エクセルでシート名をセルに反映させる方法

    エクセルでシート名をセルに反映させる方法 いつも、ここでいろいろ助けられています。 セルにシート名を入れる方法はございますでしょうか。 どういうことかと言うと、同じフォームの表を、月別に作成していますので、毎回、その月の月度をシート内の月度を入力する位置および、シート名の欄に2回入力しています。 これを1回にしたく質問させていただきました。 エクセルのバージョンは「エクセル2007」です どなたかご存知の方よろしくお願いいたします。

  • Excelでセルの書式も引用する方法について質問

    Excelのセルの書式のことで質問です。 シート1の表(日付や数字や文字がある表)をシート2へ引用するように関数を作ったのですが、シート1へ列を挿入するとシート2の書式がずれてしまって、日付の表示が上手くできません。 シート1のセルの書式ごとシート2へ引用する方法があれば教えてください。

  • Sheet名をセルに表示

    宜しくお願いいたします 先日、Excel自動入力で「mu2011]様から教えていただき Sheetの名前をA1セルに表示する事が出来ました(他も全て上手くいきました) そこで、勉強のつもりでExcelを立ち上げて、再び同じように =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,10)と入力しても「#VALLE」が表示されてエラーとなりますが何処か違うのでしょうかSheet1には名前を入れてあります ちなみに、最初に教えていただいた時にはコピペで関数を貼り付けたら上手くいきましたので前と同じ方法でページに行きコピーして 新規にExcelを立ち上げて同じようにペーストしてもエラーとなります?? 何処かExcelの設定がおかしいのでしょうか。

  • Excel2003 シート関数をセル内で利用する法

    Excel2003です。 シート関数を作成して    private function Koo() as integer      Koo = 22    end function としました。 そして、セルの中に計算式として    =Koo() と入力したのですが、    #NAME? と表示されてしまいました。 こういう使い方はできないのでしょうか。それともシート関数の作成場所が 間違っているか、文法が違っているということなのでしょうか。 関数は標準モジュールではなく、シートの中の関数にしたいと思っています。 よろしくお願いします。

  • シート名をセルに反映させる方法?

    Excel2002を使用してます。 シート名をセルに自動表示?させたいのですが、何か方法はありますか?

専門家に質問してみよう