2개의 셀 범위 간 양방향 동기화 또는 동적 누출

2개의 셀 범위 간 양방향 동기화 또는 동적 누출

다음은 두 개의 개별 시트와 필드 사이의 동적 링크 또는 양방향 동기화에 대한 코드입니다. 그러나 A4:A12 및 B7:B15와 같은 다양한 필드를 수행하도록 이를 변경하고 싶습니다. 도와주세요.For 루프를 사용하여 범위를 업데이트했지만 오류 없이 여러 셀을 편집할 수 없습니다.

Sheet1 = dateref 시트의 필드

2개 시트에 대한 VBA 코드입니다.

시트 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

관련 정보