Hola,
Este código hace literalmente eso
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("B2")) Is Nothing Then
Application.EnableEvents = False
Me.Range("B3").ClearContents
With Me.Range("B3").Validation
.Delete
Select Case Me.Range("B2").Value
Case 1
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="Avion,Barco"
Case 3
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="Barco"
Case Else
End Select
End With
Application.EnableEvents = True
End If
End Sub
Por
Israel Cassales, · publicado
Hola amado pueblo Exceliano, incluidos "los"de las fórmulas:

Mira tu por donde me ha salido un aporte gracias a una consulta:
https://www.ayudaexcel.com/foro/threads/es-posible-cambiar-el-color-de-fondo-de-un-comentario-en-un-hipervinculo.38057/#post-185249
Para ver que hace, abrir el archivo y pasar sobre el hipervínculo.
¿Como funciona? Los datos que se muestran salen de la hoja "Mensajes".
Permite hasta 9 mensajes para una misma celda.
En cualquier celda, poner un hipervínculo y pulsar Ctrl+Shift+H.
Esto genera una línea en la hoja "Mensajes" con el "Texto en pantalla" del hipervínculo.
A partir de aquí, en la hoja "Mensajes" podeis adaptar el mensaje a vuestro gusto.
Tamaño, fuente, colores y resto de propiedades se cogen de la celda de la columna B.
Ave.
Mensajes en hipervínculo.xls