1

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

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

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

2 ответа2

2

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

0

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

пример

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .