
あるセルの値を別のセルに依存させる方法を知っています (ターゲット セルの数式で = を使用)。
しかし、セルAの値を変更すると、その値がすぐにセルBにコピーされるような等価リンクを行うことは可能ですが、またセル B の値を変更すると、セル A も変更されますか?
基本的には「同じ」セルですが、2 つの場所にあるため、どのワークシートにいるかに応じてデータを簡単に変更できます。
答え1
これは、VBAマクロを使用して実行できます。Worksheet.Change
イベント。たとえば、次のコードは同じワークシート上のセルB2
とを同期させます。D10
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
If Target.Address = "$B$2" Then
Range("$D$10").Value = Target.Value
ElseIf Target.Address = "$D$10" Then
Range("$B$2").Value = Target.Value
End If
Application.EnableEvents = True
End Sub
VBA エディターでは、このコードはワークブックやモジュールではなく、変更を検出するワークシートに保存する必要があります。2 つのセルを異なるシートに配置する必要がある場合は、シートごとに 1 つずつ、合計 2 つのマクロが必要になります。
マクロがリンクされたセルを変更する前にイベントを無効にする必要があることに注意してください。そうしないと、その変更によって別のイベントがトリガーされ、Excel が無限ループに陥ります。イベントが無効になっている間にコードがエラーで終了した場合は、マクロを手動で実行してイベントを再度有効にする必要があることに注意してください。