Put this in the code module for Sheet1
Private Sub Worksheet_Change(ByVal Target As Range)
With Target.Cells(1, 1)
If .Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False
If Len(.Value) > 0 Then Worksheets("Sheet2").Range("B1").Value = .Value
Application.EnableEvents = True
End Sub
and this in for Sheet2
Option Explicit
Private Sub Worksheet_Activate()
With Me.Range("B1")
Application.EnableEvents = False
If Len(.Value) = 0 Then .Value = Worksheets("Sheet1").Range("A1").Value
Application.EnableEvents = True
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
With Target.Cells(1, 1)
If .Address <> "$B$1" Then Exit Sub
Application.EnableEvents = False
If Len(.Value) = 0 Then .Value = Worksheets("Sheet1").Range("A1").Value
Application.EnableEvents = True
End With
End Sub