Двусторонняя синхронизация или динамическая утечка между двумя диапазонами ячеек

Двусторонняя синхронизация или динамическая утечка между двумя диапазонами ячеек

Ниже приведен код для динамической ссылки или двусторонней синхронизации между двумя отдельными листами и полями. Однако я хотел бы изменить это, чтобы сделать диапазон полей, таких как A4:A12 и B7:B15. Пожалуйста, помогите.Обновление для диапазона с использованием цикла For, но невозможно редактировать несколько ячеек без ошибки

Лист1 = поле на листе dateref

Код VBA для 2 листов.

На листе 1:

Private Sub Worksheet_change(ByVal Target As Range)

If Not Intersect(Target, Range("A4")) Is Nothing Then

   If Target = Range("A4") Then

      Sheets("Sheet2").Range("B7").Value = Target.Value

   End If

End If

End Sub

На листе 2:

Private Sub Worksheet_change(ByVal Target As Range)

If Not Intersect(Target, Range("B7")) Is Nothing Then

    If Target = Range("B7") Then

        If Sheets("Sheet1").Range("A4").Value <> Target.Value Then

      Sheets("Sheet1").Range("A4").Value = Target.Value

    End If

  End If

End If

End Sub

Новый код, но возникают ошибки при одновременном редактировании двух полей.

Private Sub Worksheet_change(ByVal Target As Range)

Rng = Array("B11", "B12")

Rng2 = Array("C13", "C14")

Sched = Sheets("Dateref").Range("A7")

For i = 0 To UBound(Rng) - LBound(Rng)

If Not Intersect(Target, Range(Rng(i))) Is Nothing Then

  If Target = Range(Rng(i)) Then

    If Sheets(Sched).Range(Rng2(i)).Value <> Target.Value Then

      Sheets(Sched).Range(Rng2(i)).Value = Target.Value

    End If

  End If

End If

Next i

End Sub

решение1

Пожалуйста, попробуйте использовать

If Not Intersect(Target, Range("A4:A12")) Is Nothing Then

&

Sheets("Sheet2").Range("B7:B15").Value = Target.Value

вместо

If Not Intersect(Target, Range("A4")) Is Nothing Then

&

Sheets("Sheet2").Range("B7").Value = Target.Value

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