Te dejo la macro para tu primer solicitud: '... cambiar el color de la celda automáticamente cuando seleccione...'
Para '... otra cosita... ' tendrás que dejar una nueva consulta una vez finalizada ésta, considerando que se trata de otro tema y tiene sus detalles.
Bien, la macro a continuación se coloca en el objeto HOJA donde quieras trabajar.
La variable pública sirve para guardar la celda que se formatea, para luego quitarle color y borde cuando se seleccione otra:
Public celdita As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'x Elsamatilde
On Error Resume Next
'se quita el formato a la celda anterior
Range(celdita).Borders(xlEdgeLeft).LineStyle = xlNone
Range(celdita).Borders(xlEdgeTop).LineStyle = xlNone
Range(celdita).Borders(xlEdgeBottom).LineStyle = xlNone
Range(celdita).Borders(xlEdgeRight).LineStyle = xlNone
Range(celdita).Interior.Pattern = xlNone
'se guarda la nueva selección
celdita = Target.Address(False, False)
'asignamos borde grueso y relleno de color amarillo
Target.Select
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Interior
.Pattern = xlSolid
.Color = 65535
End With
End Sub