電子書籍の厳選無料作品が豊富!

すみません。再度質問なのですが2つのシートの別(シート1のA1、シート2のB2等)のセルに
同じ内容をどちらのシートからの入力でも表示できる方法で、
その設定が数パターン(シート1のA1、シート2のB2を1つ。シート1のD4、シート2のE5等)作りたいのですが
どのような設定を行ったらよろしいのでしょうか?

入力パターン1
ひな型ファイルを開きシート1のA1に「100」と入力したときに、シート2のB2に「100」と入力出来る様にする。
シート2のE5に「200」と入力したときに、シート1のD4に「200」と入力できるようにする。

入力パターン2
ひな型ファイルを開きシート2のB2に「100」と入力したときに、シート1のA1に「100」と入力出来る様にする。
シート1のD4に「200」と入力したときに、シート2のE5に「200」と入力できるようにする。

かなり複雑でわかりにくいとは思いますがよろしくお願いいたします。

A 回答 (4件)

こんにちは。

KenKen_SP です。

> どのような設定を行ったらよろしいのでしょうか?

設定や関数じゃ無理です。VBA を使います。

でもシート名を変更したらコードも修正しなきゃならないし※...かえって
わかり難い仕組みかもしれませんよ?

  ※コードネームでシートを指定する方法に変えれば対応できますが。

それぞれの’シートモジュール’に下記のコードを貼り付けます。


’場所:シート選択タブ[ Sheet1 ]上で右クリック[コードの表示] から
' Sheet1 モジュール
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rA As Range
  On Error Resume Next
  Application.EnableEvents = False
  For Each rA In Target.Areas
    ' シート名はご自分の都合に合わせて下さい
    Worksheets("Sheet2").Range(rA.Address) _
    .Offset(1, 1).Value = rA.Value
  Next
  Application.EnableEvents = True
End Sub

’場所:シート選択タブ[ Sheet2 ]上で右クリック[コードの表示] から
' Sheet2 モジュール
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rA As Range
  On Error Resume Next
  Application.EnableEvents = False
  For Each rA In Target.Areas
    ' シート名はご自分の都合に合わせて下さい
    Worksheets("Sheet1").Range(rA.Address) _
    .Offset(-1, -1).Value = rA.Value
  Next
  Application.EnableEvents = True
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。

早速試させていただきます。

お礼日時:2006/10/29 14:55

◆なぜ、そのようなことが必要なのでしょうか?


◆理由がわかれば、別の解決法があるかもしれません
    • good
    • 0

>かなり複雑でわかりにくいとは思いますがよろしくお願いいたします。



やりたいことは解りますがエクセルの機能では出来ません。
セルに入れる事が可能なのは、「値」か「式」のいずれかになるので、
セルの内容を他のセルに反映(表示)させる事は可能ですが、反映されたセルの内容を変更して参照元のセルに表示させるような、双方向の参照は出来ません。
    • good
    • 0

ご希望の入力は循環参照となり無理と思います。


入力シートを別にしてすべての入力をそこからにした上で
結果を複数シートの複数セルに表示は可能でしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!