Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, Cel As Range
Set Rng = Intersect(Me.[C9:P16], Target): If Rng Is Nothing Then Exit Sub
Me.Protect UserInterfaceOnly:=True
For Each Cel In Rng
If Target.Column Mod 2 Then
If VarType(Cel.Value) = vbString Then
Cel.Resize(, 2).HorizontalAlignment = xlCenterAcrossSelection
Else: Cel.Resize(, 2).HorizontalAlignment = xlCenter: End If
End If
Next Cel
End Sub