Your code just copies the values without regard to formatting. Try a copy/paste to preserve formatting:

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

Dim sh1 As Worksheet, sh2 As Worksheet
Set sh1 = Sheet1: Set sh2 = Sheet2

If Target.Count > 1 Then Exit Sub

Application.EnableEvents = False
If Sh.Name = sh1.Name And Target.Address = "$A$11" Then
    sh1.Range("$A$11").Copy sh2.Range("$B$18")
ElseIf Sh.Name = sh2.Name And Target.Address = "$B$18" Then
    sh2.Range("$B$18").Copy sh1.Range("$A$11")
End If
Application.EnableEvents = True

End Sub