• ベストアンサー

Excelのセル内容を一致させる

エクセルでセルの内容を常に一致させておきたいのですが、方法が分かりません。 具体的には二つのセル(Sheet1のセルA1とSheet2のセルB2)の内容を、どちらか一方を変更したら、もう片方も自動的に変更され、常に二つのセルの内容を同じにしておきたいのです。方法が分からないので教えてください。 お願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.5

VBA(マクロ)でやるしかないですね。 1.sheet1のシートのタブを右クリック、[コードの表示]。 2. 出てきたsheet1のシートモジュールの白い部分に以下のコードを貼付けます。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub With Application .EnableEvents = False Sheets("Sheet2").Range("B2").Value = Target.Value .EnableEvents = True End With End Sub 同様にsheet2のシートモジュールの白い部分に以下のコードを貼付けます。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$B$2" Then Exit Sub With Application .EnableEvents = False Sheets("Sheet1").Range("A1").Value = Target.Value .EnableEvents = True End With End Sub これでご希望のとおりになったはずです。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

VBAを使って Sheet1のA1セルのChangeイベントでSheet1の値をSheet2のB2にセット、 Sheet2のB2セルのChangeイベントでSheet1のA1の値をSheet2のB2の値にセット するしかありません。関数は循環参照になるでしょう。シート外のセルの参照でも同じです。 上記のコード行数は少ないがイベント・プロシジュアーの考えを学習してからの問題でしょう。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.4

sheetの関数を使うかぎり、双方向にすると、循環参照になるので、一方通行にしかなりません。第一、数式を入れてあっても新しくデータを入れれば数式はなくなってしまいます。 双方向にするには、VBAを使うしかないですが、どうします?

回答No.3

mazda323fさん、kinsan7さんの回答に補足です。 Sheet1の内容をSheet2に反映させる事はできますが、 逆のSheet2の内容をSheet1に反映させる事はできません。 相互関係ではなく、一方通行になります。 私も詳しくはないので、相互に自動変更する方法は存じません。 力になれず申し訳ありません。

  • kinsan7
  • ベストアンサー率26% (9/34)
回答No.2

変更しない方(自動的に変更される方)のセルに・・・・・ →=(イコール入力) →反映させたいシートの対象のセルをクリック →Enterキー で如何でしょうか。

  • mazda323f
  • ベストアンサー率52% (13/25)
回答No.1

Sheet2のセルB2に、下記関数を入力すると常にSheet1のA1セルを参照して表示します。これで大丈夫ですか? "=Sheet1!A1" (""は入力しなくて良いです。)

関連するQ&A