• ベストアンサー

複数のエクセルブック間でのデータの渡し方

こんにちは。環境:WinNT4.0、エクセル97 二つのエクセルブックがあります。(AとB) Aは個人のデータが記入されています。このAは個人個人のデータのため 実際には複数存在します。(A1、A2・・・) Bはこの個々のブックを集計したものになるため、Bを直接開くことはありません。 実際にAのみにデータを追加していって、それをBに反映させることは できるのでしょうか? 以上、お願いします。

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

  • ベストアンサー
  • yohsshi
  • ベストアンサー率55% (369/665)
回答No.2

VBAでイベントプロシージャーを使用して、AのデータシートをBの然るべきシートにコピーするようにすれば良いと思います。 Private Sub Workbook_BeforeClose() Sheets("Aのデータ").Cells.Select Selection.Copy Workbooks.Open Tinename:="B.xls" Sheets("Aデータ貼付先").Cells.Select ActiveSheet.Paste WorkBooks("B.xls").Close SaveChanges:=True End Sub 動作確認していませんが、Excel97だと上記のような形となると思います。

taukun
質問者

お礼

上記のやりかただとBを開けなければならず、ちょっと違うんです。 Bを開けてやるなら上記でOKだと思います。 回答ありがとうございます。

その他の回答 (2)

  • yohsshi
  • ベストアンサー率55% (369/665)
回答No.3

> ブックBのA1で=を入力し、アクティブ画面ををブックAに切替え(ウィンドウで)ブックAのA1を左クリックします。ブックBのA1は”=[A.xls]Sheet1!$A$1”となるはずです。 私はこれが可能でしたよ。但し表示は、=[A]Sheet1!$A$1 でしたけど。 同じ環境:WinNT4.0、エクセル97 です また、そのまま、=[A]Sheet1!$A$1というように打ち込んでもOKでした。 ちょっと謎です。

taukun
質問者

お礼

すいません、わかりました。 ウインドウ自体が複数になっていました。 2000とかだとファイルを開くごとにウインドウ(下のバー)が 増えていきますよね? NT(エクセル97のほう?)の場合は、メニューバーのウインドウの中に 追加されていくだけなんですよね。 おっしゃっていた方法はこっちのやり方みたいですね。 確かにその方法でできました。 ありがとうございました。

  • borg
  • ベストアンサー率56% (42/75)
回答No.1

簡単にブックBのSheet1のA1に、ブックAのSheet1のA1を表示させる場合、ブックAとブックBを両方開き、ブックBのA1で=を入力し、アクティブ画面ををブックAに切替え(ウィンドウで)ブックAのA1を左クリックします。ブックBのA1は”=[A.xls]Sheet1!$A$1”となるはずです。この後、A2以下からA10まで追加が予想されるとしたら、A1の計算式の行番号1の前の$を外し($A1の形)、A10までオートフィルを使ってコピーします。このあと先にブックAを閉じると計算式が'C\Winnt\Profiles\xxxxxx\デスクトップ\[A.xls]sheet1!A1'となるのを確認できると思います(ブックAがデスクトップに保存されているとした場合)。これでリンクは確立できたのでブックBを閉じ保存します。ブックAのA2以降にデータを追加した後保存し、ブックBを開けば確認できると思います。このときブックBを開く際、他にリンクされているうんぬんのメッセージが出るので、これを反映させる方を選択します。そうしないと意味がありません。あとブックAも新規に作成する場合は、必ずブックAから先に保存してください。

taukun
質問者

お礼

> ブックBのA1で=を入力し、アクティブ画面ををブックAに切替え(ウィンドウで)ブックAのA1を左クリックします。ブックBのA1は”=[A.xls]Sheet1!$A$1”となるはずです。 それがなりませんでした。=を入力後、アクティブ画面をAに切り替えてA1セルを 選択して、Bに戻しても=以降なにも表示されません。シート間の場合はそれでいけるのですが、Book間だとうまくいきません。 回答ありがとうございます。

関連するQ&A

  • エクセルで、複数ブックの表を効率的に集計する方法

    エクセルで、複数ブックの表を効率的に集計する方法を考えています。 定型の集計用シートがあり、Aさん、Bさん、Cさんの3人が記入するとします。 その結果できたシート(シートa、シートb、シートcとします)を以下の2つの方法で集計したいと考えています。 (1)串刺し。上記の様式と同じかたちの集計シートを作成し、各項目ごとに数字を合算。 (2)縦並びの一覧表。 シートaの項目、シートbの項目、シートcの項目が縦に並ぶ一覧表です。 ちなみに、上記3シートは、同一ブックではなく、異なるブック(ファイル)です。 この例のように、3つくらいのデータをまとめるのであれば、手作業でなんとでもなるのですが、実際は、数十~百数十のデータの集計を考えています。 こういう作業を効率的に行う「方法」か「アプリケーション」はありますでしょうか? ちなみに、「Excelシート差込アドイン」というアプリケーションを使って少し省力化できました。

  • エクセルでの複数ブックの特定範囲を一覧化する

    エクセルでイベントの参加者を数か所から集め、集計を行っています。 今までは紙ベースで受け取り、エクセルへ手打ちをしていましたが、もう嫌です。 エクセルベースで送付してもらい、集計し、一覧化を行いたいです。       【ブックα】      |     【ブックβ】    A    B    C    |    A    B    C  1  年齢 性別  名前   | 1  年齢 性別  名前 2  ・    ・    ・    | 2  ・    ・    ・ 3  ・    ・    ・    | 3  ・    ・    ・ 4  ・    ・    ・    | 4  ・    ・    ・ 様式としてはとしては以上のような一覧で送られてきます。(だいぶ簡略化してますが) この複数ブックの申し込みを以下のような一覧に仕上げたいです。    A   B    C    D 1  α 年齢  性別  名前 2   ・   ・    ・     ・ 3  ・   ・    ・     ・ 4  ・   ・    ・     ・ 5  β  ・    ・     ・ 6  ・  ・    ・     ・ 7  ・  ・    ・     ・ ちなみに、ブックごとの参加者は不定です。なので範囲としては(A1:C100)を抽出するようになると思います。 マクロなるもので、複数ブックを一つのブックにまとめ、複数シートとすることはできましたが、その複数シートの該当範囲のみを転記し、一覧化する(A行にシート名を転記する)ことができません。 また、ただ単に当該範囲を転記するだけでは、空欄セルが多数転記されてしまいそうですが、記入されているセルのみを転記することが可能であればなおいいです。 わたしが「こうできたらいいのに」と思うことはできると思っています。 ただ、私にはその知識がありません。 なのでお力添えいただければ幸いです。 つたない説明で伝わりにくい点もあるかと思いますが、よろしくお願いいたします。

  • 複数のBookから決まったセルの値を別のBookに

    お世話になります。 EXCELで複数のBOOKから決められたセルにある値を抽出してひとつのBOOKに纏めたいのです。 BOOK1~50、 BOOKには31枚のSheetがあります。 その中のSeet31にSeet1~30のデーターを纏めてあります。 Seet31の A1~3 B1~2 C1~3 のデーターを抽出して 新しく作ったBook【集計】のSeet1にBook1~50から抽出した データーを縦に並べたいのです。 【 例 】   A1 A2 A3 B1 B2 C1 C2 C3 1  5  2  4  3  6  7  1  3 2  2  3  4  6  9  7  5  2 3  7  8  5  6  2  3  1  8 と、いった感じです。 なお、Book名は『漢字+数字』です。 宜しくお願いします。

  • 複数のブックのデータを一つのブックにまとめたい

    http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page1.htm ↑の 7. 指定したフォルダ内にあるExcelファイルを検索して開く の部分のマクロを利用して、集計.xlsというブックで、複数のブックを開くようにしましたが、そのブックを開いた時にそのブックのSheet2の中のデータのみコピーして、集計.xlsに貼り付けたいのですが、どのようにすればよいのか困っています。 指定したフォルダの中には、回答01.xls 回答02.xls ・・・と16個のブックがあります。順番に開いてコピーをするときに、どのようにブック名とシート名を指定すればよいのかわからず困っています。 何か参考になるものがあれば教えてください。 よろしくお願いします。

  • 同フォルダ内複数BOOKを一つのBOOKにまとめる

      『同じフォルダ内の複数BOOKのシートの一部をまとめて1つのBOOKに貼り付けたい』(ミント) 大変困っています!! すべて同じ構成の複数BOOKの最初のシート(Sheet1)の一部のセル範囲を新しい集計用のシートに貼り付けるVBAのコードを教えてください!!!!!! VBAを使用したいのですが、いろいろ調べてもたくさんコードがあって、どれを使えばいいかわからず、混乱状態になってしまっています。。。 詳細はこのような形です。 各BOOKの最初にSheet1があり、その構成はどのBOOKも同じです。 <たとえば・・。>【Book1】 A B C D 1 あ い う え→ラベル行2 お か き く3 け こ さ し【Book2】 A B C D 1 あ い う え→ラベル行2 す せ そ た3 ち つ て と これを【集計用シート】 A B C D 1 あ い う え2 お か き く3 け こ さ し4 す せ そ た5 ち つ て と このようにつなげていきたいのです。全BOOKが複数シートありますが、集計するのはSheet1だけでよいです。 できれば、1行目にあるラベル以外を順番に貼り付けられればと思います。要するに、上記の例でいくと、2行目から集計用シートに貼り付けられていくイメージです。なお、すべてのBOOKは一つのフォルダにまとめられています。 VBA初心者でこの情報だけで絞り込めるのかわからないのですが、他にも情報が必要であれば教えてください。。。 上記のことができるコードを記載頂けたらと思います!!宜しくお願いします!!! なお、Excelのバージョンは2007、OSはWindows7です

  • マクロ?でエクセルで複数のブックからデーター集計方法

    ブックAに、”日々更新される”過去から今までの出荷リストがあります。 ブックBに、”日々更新される”使用所要計画リストがあります。 ブックCに、使用所要計画リストの集計を行います。 ブックBの使用所要計画リストには使用個数しかなく単価や合計金額がありません。 そのためブックCで個数と金額を集計したいのです。 ※ブックBのデーター製作時に単価入力することはシステムのプログラムを修正することとなるので不可能です。 こちらの改善を求めるような回答は遠慮ください。 ブックAとブックBでは、各列に付けている名前も場所も違います。 ブックAには同じ製品でも、過去から単価変更したものがありますが、集計するには一番安い単価です。 同じ一つの製品で、ブックAとブックBの両方に表記が違うものが混在しています。 いずれのブックにおいて、「AB1234」と言う製品で「AB1234」や「AB123400」や「AB1234CD」と表記されているものがありますが、 “左から始まるアルファベット2文字と数字4桁が一致していれば同一製品となります。” (AB1234が一致していれば同一製品) 毎回同じ作業をしなくてはならないので、マクロ?を組めたらよいです。 (マクロということを良く分からないのですが、毎回同じ作業をしなくてはならない場合にシートに記録させておけば、次回以降実行させれば自動的に行うことができる方法でよいのでしょうか?) エクセル2000とエクセル2002を使用しています。 どちらのバージョンでも動くと良いです。

  • Excel:別ブックにデータを抽出・追加するマクロをお教えください。

     ご覧いただきありがとうございます。  下記の表1を入力したあと、ボタン一つで、別のブックの表にそのデータが追加されるようなマクロをExcelで作ることはできるでしょうか。もしもできるようでしたら、ぜひその方法をご教授ください(マクロについては初心者以前の段階なので、無謀なお願いかもしれませんが)。  なお、実際は、縦・横とももっとセルの数は多いです。また、表1は複数のシートを串刺し集計したものです。 (表1)   A  B  C  D   E   F   G 1 日付          相手先 フラグ1 2 (A2:F4には数値が       フラグ2 3  入っています) 4 5       計1  計2  計3     ↓最下行にデータを抽出・追加 (表ア)  A  B   C    D   E   F  G  H 1 1 日付 相手先 フラグ1 フラグ2 計1 計2 計3 2 2 3 3  : (連番は自動で振られるとうれしいです)  普通は、表アのようなシンプルな表を先に作って表1のようなものに反映させるのでしょうが、表1は複数の表を集計して作るものなのでそうもいきません。なにとぞお知恵をお貸しくださいますようお願いします。

  • エクセル、ブック間でのデータ読込

    教えてください。 Excel2010を使っています。  動作:閉じているブックからデータを読み出し、開いているブックに貼付けることです。  詳細:閉じているブック’2014_9月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215のデータを      開いているブック’2014集計.xlsx、シート’集計’、セル’B20~C35・D20~D35に貼付けをた      いのですが。      応用1.        閉じているブック’2014_9月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B20~C35・D20~D35        閉じているブック’2014_10月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B40~C55・D40~D55        閉じているブック’2014_11月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B60~C75・D60~D75        ・        ・        ・        閉じているブック’2015_9月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2015集計.xlsx、、シート’集計’、セル’B20~C35・D20~D35        それぞれのブックは事前に作成します。’2014_9月.xlsx’、’2014_10月.xlsx’、’2014_11        月.xlsx’、’2015_9月.xlsx’、’2014集計.xlsx、’2015集計.xlsx      応用2.        現状        閉じているブック’2014_9月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B20~C35・D20~D35        開いているブック’2014集計.xlsx、シート’集計’セルB19’年’、セルC19’月’を変更する        ことにより        変更        閉じているブック’2014_10月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B20~C35・D20~D35        と言うことは可能でしょうか。 エクセルのマクロは初心者で苦労をしています、ご教授頂ければ幸いです。 よろしくお願いいたします。        

  • エクセルについて 複数のブックをまとめて

    エクセルで作成した複数のブックがあります。 どれもマクロ・VBAを使っています。 そこで、この作成した複数のブックを一つの共通メニュー画面から起動させたいのです。 作成した複数のブック(例) 1出退勤(職員の出退勤を管理するブック) 2カリキュラム編成(カリキュラムを編成するためのブック) 3出張申請用(出張を申請するためのブック) 上記のようなブックを共通のメニュー画面から、選択し、起動したいです。 共通メニュー画面から1を選択すれば出退勤のブックが開くようにしたいです。 また、どれも社内の共有フォルダーに保存しています。メニュー画面もそのようになります。 これを個人のフォルダーに保存しても変わりなく使用できるようにしたいです。 かといって、個人が入力したものがマスターに反映されるといったものではなりません。 あくまで、個人で使用できれば問題ありません。 メニュー画面のみのコピーし、あとのブックは共通フォルダに固定でも、メニュー画面以外のブックもまるまるコピー移動でも、形は問いません。 とにかく、複数のブックを統合ではなく、ぱっとみたところ一つのソフトのようにパッケージング?するイメージです。 ご教授いただけるとありがたいです。 よろしくお願いします。

  • excel パスワード保護されたブックから別ブックを開く場合

    XP、excel2003 です。 ブックA: 個人情報 + 統計データを含む。 パスワード保護あり。 ブックB: Aの統計データのみAからリンクし、反映 パスワード保護なし。 現状:ブックAは、パスワード保護する必要があるため、 ブックBも公開する必要があるため、ブックAの一部のデータを ブックBに反映しています。 ブックBは、自由に見られるようにしたいのですが、 開こうとすると、次のようなメッセージが出ます。 「このブックには、ほかのデータ ソースへのリンクが含まれています。 ・リンクを更新すると、Excelは最新のデータを取り込もうとします。 ・リンクを更新しないと、以前の情報が使用されます。」 [更新する]をクリックすると、ブックAで設定したパスワードと同じ パスワードを要求されるようです。 [更新しない]をクリックすると、そのまま開けますが、 古いデータが表示される恐れがあるので、なるべく避けたいです。 ブックAのパスワードを入力しない方法で、 最新データを取り込む方法がありましたら、ご教示お願いいたします。

専門家に質問してみよう