OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • すぐに回答を!
  • 質問No.175517
  • 閲覧数1244
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 75% (99/132)

こんにちは。環境:WinNT4.0、エクセル97

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

以上、お願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル12

ベストアンサー率 55% (369/665)

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

お礼率 75% (99/132)

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

回答ありがとうございます。
投稿日時 - 2001-11-27 15:32:35
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 56% (42/75)

簡単にブック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の形)、 ...続きを読む
簡単にブック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

お礼率 75% (99/132)

> ブックBのA1で=を入力し、アクティブ画面ををブックAに切替え(ウィンドウで)ブックAのA1を左クリックします。ブックBのA1は”=[A.xls]Sheet1!$A$1”となるはずです。

それがなりませんでした。=を入力後、アクティブ画面をAに切り替えてA1セルを
選択して、Bに戻しても=以降なにも表示されません。シート間の場合はそれでいけるのですが、Book間だとうまくいきません。

回答ありがとうございます。
投稿日時 - 2001-11-27 15:26:23
  • 回答No.3
レベル12

ベストアンサー率 55% (369/665)

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

お礼率 75% (99/132)

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

確かにその方法でできました。
ありがとうございました。
投稿日時 - 2001-11-28 10:29:47
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ