Tente isso.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
For Each cell In Range(Cells(Target.Row, 1), Cells(Target.Row, lastCol))
If cell = "x" Then
cell.EntireColumn.Interior.Color = 65535
Else
cell.EntireColumn.Interior.Color = xlNone
End If
Next
End Sub
Importante: insira a macro no objeto de planilha desejado, não em um objeto de módulo.
Ou então, Worksheet_SelectionChange
não funcionará.