These are the important pieces

1. aryPair (...) is a Nx2 array with the first element being the 'from' and the second being the 'to'

2. The named range 'rName' is set to Sheet1, D3. Same for the other key Sheet1 fields

3. Sheet1, D3 is paired with Sheet2, E2 in aryPair(1,..)
If Sheet1, D3 is updated then Sheet2, E2 is updated
If Sheet2, E2 is blank then Sheet1, D3 is used

4. Sheet1, H6 is paired with Sheet3, F2 in aryPair (4, ...)
If Sheet1, H6 is updated then Sheet3, F2 is updated
If Sheet3, F2 is blank then Sheet1, H6 is used

5. The WS Change event has a Select Case to handle Sheet1 changes vs Sheet2 and 3 changes



Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)


Public aryPair(1 To 6, 1 To 2) As Range
Public ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
Public rName As Range, rTown As Range, rOrder As Range, rPart As Range


'called in Thisworkbook Open
Sub Init()
    
    Set ws1 = Worksheets("Sheet1")
    Set ws2 = Worksheets("Sheet2")
    Set ws3 = Worksheets("Sheet3")
    
    Set rName = ws1.Range("D3")     '   name
    Set rTown = ws1.Range("H3")     '   town
    Set rOrder = ws1.Range("D6")    '   order
    Set rPart = ws1.Range("H6")     '   part
    
    
    '------------------------------------------------------------ Sheet1 to Sheet2 / Sheet2 to Sheet1
    Set aryPair(1, 1) = rName
    Set aryPair(1, 2) = ws2.Range("E2")


    Set aryPair(2, 1) = rTown
    Set aryPair(2, 2) = ws2.Range("E5")


    Set aryPair(3, 1) = rOrder
    Set aryPair(3, 2) = ws2.Range("I2")
    
    '------------------------------------------------------------ Sheet1 to Sheet3 / Sheet3 to Sheet1
    Set aryPair(4, 1) = rPart
    Set aryPair(4, 2) = ws3.Range("F2")


    Set aryPair(5, 1) = rTown
    Set aryPair(5, 2) = ws3.Range("F5")


    Set aryPair(6, 1) = rOrder
    Set aryPair(6, 2) = ws3.Range("F7")


    Application.EnableEvents = True
    
End Sub