- ベストアンサー
エクセルで他シートへ反映する方法
エクセル2000を使用してます。 シート1・2で入力したテキストデータがシート3に自動的に入力される(反映される)方法はないでしょうか? 具体的にはシート1の2行目に「あいうえお」 シート2の10行目に「かきくけこ」と入力されたデータがシート3にそのまま反映されるような方法です。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
(1)Sheet1のシートタブとSheet3のシートタブをCtrlキーを押してクリックする。 Sheet1に入力するとSheet3の同位置セルに同じデータが入ります。 (2)同じくSheet2のシートタブとSheet3のシートタブをCtrlキーを押してクリックする。 Sheet2に入力するとSheet3の同位置セルに同じデータが入ります。 問題はデータ入力が A.シート1の入力とシート2の入力が交互的に起こると シートタブクリックが面倒ですが B.シート1の入力が終わってから、シート2の入力を 出来るならこの方法も使えるでしょう。 ●VBAなら Sheet1のWorksheet_Activateイベントに Private Sub Worksheet_Activate() Sheets(Array("Sheet1", "Sheet3")).Select Sheets("Sheet1").Activate End Sub Sheet2のWorksheet_Activateイベントに Private Sub Worksheet_Activate() Sheets(Array("Sheet2", "Sheet3")).Select Sheets("Sheet2").Activate End Sub をそれぞれ入れておくと良いでしょう。 シート1をアクチブにするとシート3もグループ化されます。シート2も同じです。 シート3に値が蓄積していきます。勿論同一位置セルに 入力すると、後から入力されたシートのデータがシート3に残ります。
その他の回答 (5)
補足を読みました。#3です。 > セルA2だけではなくA3A4・・と続く場合 > やはり、ひとつずつ=seet1!A3とう作業をしないと > だめでしょうか? Sheet3のA2を選択し、セルの右下にマウスポインタを滑らせると マウスポインタの形が「+」に変わります。 そこで、下にドラッグしてボタンから指を離せば A2の数式が下までコピーされます。 A3の数式は「=seet1!A3」 A4の数式は「=seet1!A4」 A5の数式は「=seet1!A5」 (以下続く) こんな風に参照するセルの場所も自動的に変わってくれます。 解決しましたか? もし不足があるようでしたら、もっと具体的につめてみましょう。 さて、Sheet3を開いてみてください。 このシートの、どこからどこまではSheet1の内容を反映したいか、 そしてどこからどこまではSheet2の内容を反映したいか、 それぞれ教えていただけないでしょうか。
お礼
わかりやすい説明ありがとうございました。
- koma1000nin
- ベストアンサー率30% (342/1133)
#3の補足に対する答。 シート3のA1に式を書き込んで改行したら、もう一度同じA1セルをクリックします。太い枠の右下に「点」が見えるので、これにカーソルを合わせると「+」マークが表示されるので、そのままマウスの左ボタンを押し込んで下方へドラッグすれば簡単に相対セルコピーができます。 ただし、途中でコピー元シートが切り替わるときは、そのつど上記のコピー操作をし直さなければなりません。
お礼
ありがとうございました。
> シート3にそのまま反映 シート3の同じ位置に、もとのセルと同じ文字が表示される、 もとのセルが空白なら空白で表示、 こんな風に受け取りましたがよかったでしょうか。 Sheet1のA2に「あいうえお」 Sheet2のA10に「かきくけこ」 なら、 Sheet3のA2に「=IF(Sheet1!A2="","",Sheet1!A2)」 Sheet3のA10に「=IF(Sheet2!A10="","",Sheet2!A10)」 と入力してみてはいかがでしょうか。 「=Sheet1!A2」と「=Sheet2!A10」でも良さそうに思うと思いますが、 もし、 =Sheet1!A2が空白なら、=Sheet3!A2には「0」と表示されてしまいます。 これを避けるために「=IF(Sheet1!A2="","",Sheet1!A2)」 としました。意味は、 「もしSheet1!A2が空白なら空白を、そうでなかったらSheet1!A2を」です。
補足
ご教授有難うございます。説明不足ですみません。 セルA2だけではなくA3A4・・と続く場合 やはり、ひとつずつ=seet1!A3とう作業をしないと だめでしょうか?
- miumiumiu
- ベストアンサー率21% (715/3385)
- s_yoshi_6
- ベストアンサー率73% (1113/1519)
シート3の同じ行(2行目、10行目)に反映させるのでしたら、例えばA列だったら =Sheet1!A2 =Sheet2!A10 というように参照するセル番地の前に「(シート名)!」を付ければ良いです。
お礼
有難うございました。早速やってみました。出来ました。VBAは難しそうなので、最初の方法でやって見ました。