
한 셀의 값이 다른 셀에 종속되도록 하는 방법을 알고 있습니다(대상 셀의 수식에서 = 사용).
그러나 셀 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이 무한 루프에 빠지게 됩니다. 이벤트가 비활성화된 동안 코드가 오류로 종료되면 매크로를 수동으로 실행하여 다시 활성화해야 한다는 점에 유의하세요.