- ベストアンサー
Excelでファイルを越えて連携できるのでしょうか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
エクセルの数式では, ='c\test\[book1.xls]Sheet1'!A1 といった数式で多ブックの値を参照し計算に利用できます 参照元ブックを開いておいて =[book1.xls]sheet1!A1 のように数式を作成し,参照元ブックを保存して閉じると,自動で閉じたブックを参照する式に書き換わります。エクセルの操作になれていないときは,こちらの手順を行った方が間違いがありません。 マクロでは別のブックを「開いて参照する」のが原則です。 sub macro1() dim w as workbook set w = workbooks.open("c:\test\book1.xls") msgbox w.worksheets("シート名").range("セル番地") w.close false end sub 開きたくないご相談はしばしば見かけますが,労多くして功少ないの典型と言えます。 方法1:開いているところを見せない sub macro2() dim w as workbook dim x application.screenupdating = false application.calculation = xlcalculationmanual set w = workbooks.open("c:\test\book1.xls") x = w.worksheets("Sheet1").range("A1") w.close false application.calculation = xlcalculationautomatic application.screenupdating = true msgbox x end sub 方法2:エクセルに閉じたブックの値を取ってこさせる sub macro3() dim x range("A1").formula = "='C\test\[book1.xls]Sheet1'!A1" x = range("A1").value range("A1").clearcontents msgbox x end sub 方法3:4.0マクロ関数を使う 色々制約があるのでお薦めしませんが,下記など参考に。 http://www.moug.net/tech/exvba/0060037.html
その他の回答 (2)
- Cor_moriyan
- ベストアンサー率41% (92/221)
マクロ(VBA)の話しで良いですか?(^^) Excel は 別のファイル(ブック)が開いてあれば、参照する事が出来ます。 例えば、ブックA に書いてあるマクロ(VBA)から ブックB の シート1 を参照するなら、 ブックA上で Workbooks.Open("ブックB") Workbooks("ブックB").Worksheets("シート1") ~ という使い方が出来ます。 当然、終了時は ブックA と同時に ブックB も閉じる必要があります。
- taranko
- ベストアンサー率21% (516/2403)
参照したいエクセルを開き、参照元のセルに=(イコール)を入れ 参照したいエクセルの参照したいセルを選択してエンターを押せばできます。 ※作業は基本的に同じエクセルの参照と同じで別ファイルを選択するだけです。 参照したエクセルを開いている時はエクセルのファイル名から表示され =[AAA.xls]Sheet1'!$A$1 参照したエクセル閉じた時はエクセルのファイルの場所から表示されます ='C:¥▲▲▲¥×××¥□□□¥[AAA.xls]Sheet1'!$A$1
関連するQ&A
- excelの他のファイルへのリンク設定
始めて質問させて頂きます。 EXcelの初歩的な計算式や、基本的な関数がわかる程度で、 マクロなどはわかりません。 よろしくお願いいたします。 環境はMACOS 10.5.5 excelのバーションは2008、または2004です。 1つのファイルに1000sheet以上あります。 1Sheetは横2列は固定ですが、縦は100行前後とバラバラです。 これを1つのファイルの1つのsheetにまとめたいのです。 (縦列と横列を逆にしてまとめたいのです) そこでこういう方法を考えました。 まとめという新規のファイルを作成 加工前ファイル(1つのファイルに1000sheet以上)を開く まとめのセルA1に、加工前のSheet1のセルA1を参照させる まとめのセルB1に、加工前のSheet1のセルA2を参照させる まとめのセルC1に、加工前のSheet1のセルA3を参照させる (以下100まで繰り返し) まとめのセルA2に、加工前のSheet1のセルB1を参照させる まとめのセルB2に、加工前のSheet1のセルB2を参照させる まとめのセルC3に、加工前のSheet1のセルB3を参照させる (以下100まで繰り返し) 次に まとめのセルA3に、加工前のSheet2のセルA1を参照させる まとめのセルB3に、加工前のSheet2のセルA2を参照させる まとめのセルC3に、加工前のSheet2のセルA3を参照させる (以下100まで繰り返し) まとめのセルA4に、加工前のSheet2のセルB1を参照させる まとめのセルB5に、加工前のSheet2のセルB2を参照させる まとめのセルC6に、加工前のSheet2のセルB3を参照させる (以下100まで繰り返し) ただし、この方法ですと、この参照の設定をすべて手作業で行わなければなりません。 例えば、sheet1 だけ設定したら、あとは、なんらかの方法で、sheet1000までの参照を簡単に行えないでしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルで、シートからの参照と、他ファイルからの参照と、どちらにするか
エクセルで、シートからの参照と、他ファイルからの参照と、どちらにするか迷っています。 約100×100セルのシート4枚のさまざまな数値を1シートに参照させてまとめています。各シートはsumとか簡単な計算式を使っているだけで、マクロなどはわからないので使っていません。 さらに参照元が5シートほど増えるのですが、同一ファイル内でシートを増やすか、別ファイルにしてそこから参照するか、迷っています。今とくに動作が重いということはありません。 1ファイルでシートを増やすと、管理はらくだけど各シートへの移動がめんどう。 ファイルを分けると、、、 どちらがおすすめでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロで、別ファイルの数値を参照する方法
現在aaa.xlsというファイルを開いていて、 そのセルA1には20070621という数値が入っています。 別にbbb_20070621.xlsというファイルがあって、 そのファイルのsheet1内の、B1の値を参照したいと思います。 bbb_20070621.xlsのようなファイルが無数にあるので、 ファイルを開かなければいけないINDIRECT関数は使いたくありません。 =INDIRECT("[bbb_"&A1&".xls]Sheet1!B1") ファイルを開かず参照できるように、 できればマクロ(VBA)で組みたいと思っています。 RangeやCellでいろいろ試してみたのですが、 どうもうまくいかず、 分厚いマニュアルにも書いてありませんでした。。 初歩的な質問ですいませんが、 どなたかよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 拡張子「xlm」のファイルについて
会社のExcelファイルで、拡張子が「xlm」のファイルがありました。Excel4.0というずいぶん古いバージョンのマクロのようですが、 (1)昔はこういうExcel4.0の「xlm」ファイルって、結構使われていたのでしょうか? (2)これのマクロはExcelのシートのセルにだけ書き込まれるものなのでしょうか?というのも、VBE画面でソースコードを見ようにも、VBAモジュールが全くなく、ソースコードらしきものはExcelのシートのセルにしか書かれていないからです。Excel4.0マクロって、VBEにソースコードを書き込むんじゃなく、Excelのシートのセルに命令を全て書いて動かすものなんでしょうか?
- ベストアンサー
- Excel(エクセル)
- エクセル2007で複数ファイル間コピーマクロ
エクセルでマクロを組もうとしていますが、初歩的なことでつまづいており、ぜひ助けを頂けたらと思います。 VBA言語はほとんどわかりませんが、エクセルでマクロを組んでいます。 一つのワークブック内での登録は問題なく行えるのですが、ワークブック間のコピペをマクロに登録するとうまくいかず困っています。 やりたいことは以下のようなことです。 file.Aのsheet1のA1セル ⇒ file.AAのsheet1のA1セル へコピー file.Bのsheet1のA1セル ⇒ file.BBのsheet1のA1セル へコピー ・ ・ ・ ・ file.Zのsheet1のA1セル ⇒ file.ZZのsheet1のA1セル へコピー VBAを確認すると、ワークブック名が指定されているため、うまく次のファイルに移行できずにいるようです。 以下が黄色でハイライトされます。 Windows("file.A").Activate 初歩的なことだとは思うのですが、なかなか検索で答えが引っ張りだせないので、A-Zのファイルをコピペできるマクロにするにはどのようにしたら可能なのか教えてください。 よろしくお願いします。
- ベストアンサー
- Windows XP
- EXCEL(マクロ機能あり)のコピー
お世話になります。 現在、マクロ機能のあるEXCELファイルを別のPCへコピーし実行すると 思うような結果が返ってこない。 Sheetが2つあり、 ・Sheet1はDBより取得 ・Sheet2はSheet1を参照し集計 というように構成しています。 自分のPCでは全て問題なく実行できるが、 別のPCではSheet1のデータ取得は実行でき、Sheet2の参照集計ができない。 という点で悩んでいます。 お力添えをお願いいたします。 考えられる問題点は、 1.ファイルの作成時にマクロ機能を別のEXCELファイルよりコピー(ボタンの機能など)し、マクロの登録を行ったので参照がうまくいっていない。 2.マクロのコピーの仕方が正しくない 3.Excelファイルに何か設定をしなければならない(参照設定など) と考え調べていたのですが、解決に至りませんでした。 どなたかご教授をお願いいたします。
- 締切済み
- オフィス系ソフト
- 異なるファイルのセル値を抽出する
excel2010 異なるファイルのセル値を抽出する方法を教えてください。 下記に例を示します。 ファイル名:001.xlsm(ファイル名は、任意に変わります。どんなファイル名になるかは分かりません) シート名称:sheet1、sheet2…(複数あり不定です) 抽出したいセルには名前がついています。 sheet1のA4セルのセル名称が _nameAAA の様に。 ファイルによりセルの位置は変わるかもしれませんがセル名称は固定です。 001.xlsmのファイルに新規シート作成し、 あるセルに =_nameAAA とすると、sheet1のA4セルの値を表示してくれます。 抽出したいファイルが下記の様に複数あります。 001.xlsm,002.xlsm,003xlsm… 抽出したいセルの名前は固定で、下記の様にあります。 どのファイルにどのセル名称があるかは分かりません。 _nameAAA _nameAAB _nameAAC というセル名称があった時、 それぞれのファイルに新規シート作成して、セル名参照するのは手間なので、 以下の様にしたいです。 参照.xlsmというファイルを作成し、c:\workに登録します。 中身は sheet1の A1セルに=_nameAAA A2セルに=_nameAAB A3セルに=_nameAAC としておきます。 抽出したいファイルをc:\workにコピーし、参照.xlsmからマクロで セルの値を抽出して表示する様にしたいのです。 マクロ初心者なのでベタを教えていただきたく、よろしくお願いします。
- 締切済み
- Excel(エクセル)
- Excelのマクロについて
マクロの保存先を「開いているすべてのブック」にして、 A2~A32をいったん削除した後で、 1月1日から、1月31日を入力して、 最後にA2をアクティブセルにしておく、というマクロを作りました。 1/1と入力すると、普通、1月1日と表示されますよね? 同一ブック、同一シートないでしたら、そのように表示されるのですが、 同一ブック、別シートあるいは、 別ブックで、このマクロを実行すると、 2001/1/1と表示されます。 あとで、セルの表示形式を変えればいいんでしょうが、 この原因が、なぜ、そうなるのかが知りたいです。 (まだ、そのシート内以外だと、マクロが設定できない、 とかの方がわかるんですが。) また、 同一シートでなくても、 1月1日~1月31日の表示形式のままで、 設定できるマクロがあったら、あわせて教えてください。 作成しているファイルの、 バージョンは、Excel2002ですが、 マクロは、2000と変わらないと思うんですが・・・。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 別のエクセルファイルの中身を表示する際
別のエクセルファイルの中身を表示する際の方法について。 経理.xlsのセルに下記のように別ファイルのセルを表示しています。 =[参照元エクセルファイル.xls]Sheet1!$F$2 1個だけでなく100行くらい表示したい。 例 =[参照元エクセルファイル.xls]Sheet1!$F$2 =[参照元エクセルファイル.xls]Sheet1!$F$3 =[参照元エクセルファイル.xls]Sheet1!$F$4 ・・・・ こういう場合に、素人なので、経理.xls開いて「=」を入れて、参照元エクセルファイル.xlsに移って、該当セルをクリックする・・というふうに1個ずつしか処理できません。 簡単な方法はないでしょうか。 #但し、参照元エクセルファイル.xlsでは範囲名は設定できません。(自動的に書き出しされる仕組みのため。)
- ベストアンサー
- オフィス系ソフト