Как связать 2 ячейки Excel?

Как связать 2 ячейки Excel?

Я знаю, как сделать так, чтобы значение одной ячейки зависело от другой ячейки (используя = в формуле целевой ячейки).

Однако возможно ли сделать равную ссылку, так что если я изменю значение ячейки A, то это значение немедленно скопируется в ячейку B, нотакжеесли я изменю значение ячейки B, ячейка A также изменится?

По сути, это будет «одна и та же» ячейка, но в двух местах, чтобы данные можно было удобно изменять в зависимости от того, на каком листе вы находитесь.

решение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 этот код должен храниться на листе, на котором вы хотите обнаружить изменение, а не в книге или модуле. Если вам нужно, чтобы две ячейки были на разных листах, вам понадобятся два макроса, по одному на каждый лист.

Обратите внимание, что нам нужно отключить события до того, как наш макрос изменит связанную ячейку, в противном случае это изменение вызовет другое событие, и Excel застрянет в бесконечном цикле. Имейте в виду, что если ваш код завершается с ошибкой, пока события отключены, вам нужно будет вручную запустить макрос, чтобы снова включить их.

решение2

Выберите Bи белый =A, и у вас появится зеркальная ячейка B. Изменение значения ячейки A немедленно изменит значение ячейки B. Пример:

пример

Связанный контент