Estuve buscando la manera de hacer un autocompletar para una lista de validación, me encontré el siguiente código:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Si la celda elegida es D6:D822 se muestra el Formulario.
If Not Intersect(Target, Range("D6:D822")) Is Nothing Then
UserForm1.Show
'En todo caso no se muestra.
Else
End If
End Sub
Me funcionó bien cuando hice una prueba, pero al aplicarlo al archivo real de trabajo, no me funciona porque en el libro real tengo que trabajar con la hoja 3, mientras que en el de prueba lo hice con la hoja 1, no sé si hay una manera de configurar o asignar que se trabaje en la hoja 3.. además los datos a rellenar están en formato de tabla, no sé si haya algún problema con eso.
Gracias
El código Private Sub Worksheet_SelectionChange responde al evento "SelectionChange" de la hoja en donde se encuentre el código.
¿dónde has puesto este código? tienes que ponerlo en el código de la hoja que te interesa, en tu caso será la Hoja 3
------
Ya sé Excel, pero necesito más.
Gracias, lo verificaré, aunque según yo si lo puse en la hoja 3, solo que cuando estoy en la hoja no me muestra el formulario, es por ello mi duda de si está funcionando o no, sin embargo, si corro la macro desde el "play" de VBA, si me aparece el formulario en la hoja, pero solo una vez, de igual modo verificaré lo que me comentas.
Muchas Gracias
Prueba a poner una marca de detención al principio de la rutina, y luego vas avanzando línea a línea con F8.
Así puedes saber si se lanza o no (si no para es que no se ha lanzado), y si lo hace, también puedes saber por qué aparenta no hacer nada (a veces algún error de código o de programación hace que salte al final o que no ejecute nada)
Un saludo
Muchas Gracias por la opción, estuve revisando el código y lo que pasó fue que lo había asignado a un evento erroneo y por eso no me estaba funcionando.
Muchas gracias por el apoyo