• 締切済み

エクセル:別ファイル別シートのセル参照

エクセルで別ファイルの別シートのセルを表示しようとしています。 例えば、「ABC.xls」のファイルで、この中のシート「DEF」のセル「A1」を表示するとします。「ABC.xls」はc:\に存在しているものとします。 この場合は   ='C:\TEMP\[ABC.xls]DEF'!A1 となります。 わからないのは「ABC.xls」が「ABCyyyymmdd.xls」の場合です。yyyymmddはシステム日付です。 申し訳ありませんが、だれか教えて下さい。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

A1セルにでもyyyymmddを置いてうまく参照させたい所ですが,あいにくエクセルの基本機能では,今考えているようにはそういう事が出来ません。 出来る方法1) リンクの編集(2003までなら編集メニュー,2007以降はデータタブ)でリンク元の変更を使い ABC.xls を ABCyyyymmdd.xls に付け替える 出来る方法2) Ctrl+Hで置換を出し ABC.xls を ABCyyyymmdd.xls に全て置換する 半分できる方法) ABCyyyymmdd.xlsを必ず「開いておいた」状態で A1セルに yyyymmdd を記入し =INDIRECT("'[ABC"&A1&".xls]DEF'!A1") という数式にする 別の方法) 上述の出来る方法1・2を行うマクロを組み込んで,手でやる代わりにマクロをぽちっとしてやらせる。 A1セルにyyyymmddを記入すると,それを受けて自動起動するマクロを組み込んでできる方法1・2を代行させる。

GONBEBW
質問者

お礼

早速の回答ありがとうございます。 基本機能は無いのですか・・・・・。 とりあえず、1シートだけなので方法2でやってみます。マクロつくるのも面倒だし。

関連するQ&A

  • セル値のシート参照

    excel2010 セル値のシート参照がうまく動作しません。 構成は下記です。 ディスクトップにa.xlsmのファイル。シート名称はSheet1、シート計算は手動にしています。 Cドライブのtempフォルダにabc.xlsというファイルを登録しています。 C:\TEMP\abc.xls abc.xlsのファイルは、シート名称が(日付け)という構成です。 9/1だと(1)、9/23だと(23)の様になっています。 a.xlsmのファイルからマクロを使い、日付けに相当するシートを表示させようとしています。 a.xlsmのQ2セルには日付けのデータが入ります。表示形式は9/23みたく。 Q3セルは、="("&TEXT(Q2,"dd")*1&")" これで、日付けからabc.xlsファイルのシート名称を参照させる構成です。 作成したマクロは下記です Sub マクロからブックを開く2() Worksheets("Sheet1").Activate Dim t As String t = Range("Q3").Value Debug.Print t ’Q3セル値を更新させる為に計算実行 Calculate Workbooks.Open "C:\TEMP\abc.xls" Worksheets(t).Activate End Sub 上記だと、Q2セルの日付けを変えても1つ前の日付けで参照されます。 上記を2回そのまま実行すると正しく反映されます。 Debug.Print tでも更新されていないのが分かります。 なぜなのでしょうか? ちなみに、下記の様にマクロを分割すると、正しく表示されます。 Sub マクロからブックを開く() Worksheets("Sheet1").Activate Dim t As String t = Range("Q3").Value Debug.Print t Calculate cal End Sub Sub cal() Dim t As String t = Range("Q3").Value Debug.Print t Workbooks.Open "C:\TEMP\abc.xls" Worksheets(t).Activate 'Call カレントフォルダの表示 End Sub 上記の様に2つに分けると Debug.Print tで更新されていることが確認出来ます。 1つ目のマクロ マクロからブックを開く2 のおかしな内容の理由と対策内容を教えていただきたく、よろしくお願いします。

  • セルに表示されている 別ファイルのシートのセルを参照するには?

    たとえば data.xlsの セルB1には "12345" と入力された別ファイルがあるとして セルA1に data.xls セルA2に Sheet1 セルA3に B1 セルA4に ( =[data.xls]Sheet1!$B$1 )  "12345" を表示したい セルA4にはどのように記入すればいいのでしょうか VBAは使いたくありません よろしくお願いします。EXCEL2000

  • エクセル)ファイルを検索し、セルを参照

    Aフォルダ内に入っている複数のファイルがあります。 abc01xyz.xls abc02xyz.xls abc03xyz.xls それぞれのブックのシートX、セルA1にはファイル名にある数字と同じ数字が入っています。 ■質問 abc02xyz.xlsのセルB2に、abc(abc02xyz.xlsのシートX、セルA1の値-1)xyz.xls のシートY、セルB2の値をコピーしたいのですが、どんな関数を使えばよいのでしょうか、いろいろ本をめくったり、インターネットで調べたのですが、なかなか参考になるケースがなくて困っておりまして、どなたか詳しい方、ご指南いただけませんでしょうか・・・。 INDIRECT関数を使うのでしょうか

  • 別ファイルを参照しながらシート名を動的に

    Excelにて、VLOOKUP関数を使用し別ファイルを参照してます。 (こちらをAファイルとします) 別ファイル(こちらをBファイルとします)にはいくつかシートがあり、Aファイルに入力された値によって、Bファイルを参照するシートを変更したいのですが、うまくいきません。 AファイルはC:\workに BファイルはC:\work\workにそれぞれ配置してあります。 AファイルのセルA1には任意の値を入力可能で、その値によって参照するBファイルのシートを変更できます。 VLOOKUP(B1,INDIRECT("'C:\work\work\[Bファイル.xls]"&A1&"シート'!$A$1:$B$100") Aファイルに上記のような関数を書いても、#REFと表示されてしまいます。 どこがおかしいのでしょうか? #AファイルとBファイルを同時に開いている状態だとうまく表示されました。

  • EXCEL 相対セル参照でいいものが、フルパスのブック名付きとなってしまう

    シートAのあるエリアのセルを シートBにて参照しています。 相対にてセル参照を作成したものですが、 日を置いて確認したところフルパスのブック名付きとなってしまったものです。 具体的には 当該のファイルが「会計報告.xls」で、c\temp に置かれている場合、 単純に「=Sheet1!A1」であってほしいのに、 「=c\temp\[会計報告.xls]Sheet1!A1」 といった具合にブックの名前まで記述されてしまう現象に悩まされているものです。 これでは他人に使用してもらうことができず困っています。 計算式の入ったセルを保護したのですがそれと何か関係があるのでしょうか?

  • Excel 読み込むファイルの名前をセル参照

    Excelで他のファイルのあるセルの値を読み込む場合、  =[hogehoge.xls]Sheet1!$A$1 などと打ち込みますが、このファイル名の部分の一部に セルの値を持ってくるにはどうしたらいいのでしょうか? つまり、A1セルに「2」が入力されているときなら、  =[hogehoge2.xls]Sheet1!$A$1 A1セルに「3」が入力されているときなら、  =[hogehoge3.xls]Sheet1!$A$1 としたいのです。(他の部分は固定) よろしくお願いします。

  • excelマクロ 別ファイルの特定列をコピーしたい

    C:\testの配下にexcelファイル「aaa.xls」「aaa_yyyymmdd.xls」「bbbxls」があります。 「aaa_yyyymmdd.xls」は「aaa.xls」のバックアップファイルです。 又、「bbbxls」にマクロを記述しようと思います。 ☆処理内容☆ 「aaa.xls」「aaa_yyyymmdd.xls」が開いていない状態で、「aaa.xls」のシート「sheet1」内の E列をコピーして「bbbxls」のシート「sheet3」のA列に貼り付け。 「aaa_yyyymmdd.xls」のシート「sheet1」内の E列をコピーして「bbbxls」のシート「sheet3」のB列に貼り付け。 その後、張り付けたA列を正としB列と比較して、差異があった場合はB列の差異があった部分の セルに色つけをした後、「aaa_yyyymmdd.xls」をC:\test:\oldフォルダに移動する。 上記のようなexcelマクロを作成中なのですが、できなくて困っております。 有識者の方、助けを貸してください。 よろしくお願い致します。

  • EXCEL2010 他ブック セル参照

    Book1のA1セルに、Book2のA1セルを参照するため、 ='D:\TEMP\[Book2.xls]Sheet1'!$A$1 を入力しています。 Book2のSheet1には、マクロを組んでいて、その結果を$A$1から$C$50の範囲に表示させています。 Book1のA1からC50までには、Book2のA1セルからC50までには、同様の式を入力しています。 ご教授願いたい内容は、Book2のマクロ実行後に、Book1に='D:\TEMP\[Book2.xls]Sheet1'!$A$1 を入力した場合は、その結果が表示されるのですが、その後にBook2を更新しマクロ実行すると、Book1の式が='D:\TEMP\[Book2.xls]Sheet1'!'!#REF!とエラーになってします。 Book2を開いて、整列表示の場合でも(='[Book2.xls]Sheet1'!$A$1)結果は、同じです。 何か大事なことを忘れている?または、マクロ実行結果を参照するのは元々無理なのか?悩んでいます。 一応ネット検索したのですが、該当する対処方法が見つけられず、困っています。 解決方法をご教授いただきたく、お願いいたします。

  • EXCELで別ブックのセルを参照 シートを替える

    EXCEL初心者です。 毎日四苦八苦しているのですが、行き詰ってしまったのでご教授ください。 使用しているブックをA.xlsとして、 別ブックB.xlsのセル参照を、 ='Z:\[B.xls]Sheet1'!$B$1 のようにしています。 この Sheet1 の部分のシート名をA.xlsの、例えばA1に入力することで、 毎回シート名を変えられるようにしたいのですが、 ='[B.xls]( ココ )'!$B$1  ココの部分をどのようにしてよいかがわかりません。 A.xlsのパス名から書けばよいのかなと思ったのですが、 どうもうまくいきません。 何分必要にせまられてEXCEL勉強し始めたばかりです。 初歩的な質問ですが、すみません、よろしくおねがいします。

  • Excel 複数ファイルの参照

    説明が難しいのですが、 例えば、デスクトップに[1.xls], [2.xls], [3.xls] ・・・ と連続したエクセルファイルがあり、 新規作成で以下のようなシートを作製して、   A B C D E F 1 1 2 2  3 3 4 4 5 5 6 6 B列にデスクトップ上の各ファイルのセルA1の値を入力したい場合、 数式を「='C:\…\デスクトップ\[***.xls]Sheet1'!$A$1」 として、***部分にセルA1~の数値を代入できるようにしたいのですが、可能でしょうか。

専門家に質問してみよう