Sincronización bidireccional o fuga dinámica entre 2 rangos de celdas

Sincronización bidireccional o fuga dinámica entre 2 rangos de celdas

A continuación se muestra el código de un enlace dinámico o sincronización bidireccional entre dos hojas y campos separados. Sin embargo, me gustaría cambiar esto para hacer una variedad de campos como A4:A12 y B7:B15. Por favor ayuda.Se actualizó para un rango usando un bucle For pero no se pueden editar varias celdas sin error

Hoja1 = un campo en la hoja dateref

Código VBA para 2 hojas.

En la hoja 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

En la hoja 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

Código nuevo pero errores cuando se editan dos campos a la vez.

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

Respuesta1

Por favor intenta usar

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

&

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

en lugar de

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

&

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

información relacionada