EL tema es más sencillo de lo que parece en principio, pero hay un pequeño problema por resolver, como en casi todos los aspectos de nuestras vidas.
Empecemos por notar que cuando ponemos en una celda de Excel un texto que sigue el patrón de una dirección de correo electrónico, Excel agrega automáticamente un hipervínculo de tipo “mailto:xxx@yyy.zzz”

Como ya sabemos, podemos crear una lista desplegable usando validación de datos. Para eso creamos una lista de direcciones de mail y le damos un nombre definido. Para más comodidad definimos un rango dinámico con DESREF

Luego creamos la lista desplegable con validación de datos-lista

Ponemos la lista desplegable en la celda B1, de manera que podamos elegir la dirección

El problema con este método, es que a diferencia de cuando introducimos la dirección manualmente, Excel no crea el hipervínculo

Existen dos remedios a esta situación:
1 – después de seleccionar el nombre apretamos F2 (edición) e inmediatamente después Enter.
2 – Creamos un evento de manera que las acciones señaladas en 1 sucedan automáticamente. En el módulo Vba de la hoja1 (en nuestro ejemplo) ponemos este código
Private Sub Worksheet_Change(ByVal Target As Range)
If Union(Target, [B1]).Address = [B1].Address Then
SendKeys "{F2}"
SendKeys "{Enter}"
Application.EnableEvents = False
End If
Application.EnableEvents = True
End Sub
La sentencia SendKeys imita el tecleado de F2 y Enter si la variable Target coincide con la celda que hemos definido como celda que contiene la dirección.
Technorati Tags: MS Excel
No hay comentarios.:
Publicar un comentario
Nota: sólo los miembros de este blog pueden publicar comentarios.