Llamar a una macro cuando cambie valor de una celda

19/06/2006 - 12:08 por jjm | Informe spam
Tego una lista introducida desde Validar, cómo puedo llamar a una macro
cuando seleccione un valor distinto de la lista.

Gracias

Preguntas similare

Leer las respuestas

#1 KL
19/06/2006 - 12:44 | Informe spam
Hola jjm,

Suponiendo que tu validacion esta en la celda [A1] y usa la lista con un nombre definido, digamos "Lista", podrias hacer lo siguiente:

con la hoja con la Validacion activada...
1) haz clic derecho sobre la pestana con el nombre de la hoja en la parte de abajo de la ventana de Excel
2) elige la opcion 'Ver Codigo' para abrir el Editor VBA
3) una vez en el Editor VBA, pega el siguiente codigo en la ventana mas grande a la derecha:
'Inicio codigo
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
If IsError(Application.Match([A1], _
Evaluate(ThisWorkbook.Names("Lista").RefersTo), 0)) _
Then test
End Sub

Sub test()
MsgBox "Hola!"
End Sub
'Fin codigo
4) pulsa Alt+F11 para volver a la hoja
5) guarda los cambios y haz pruebas.

Nota1: tambien en vez de "Evaluate(ThisWorkbook.Names("Lista").RefersTo)" podrias referirte a nombre definido de la siguiente manera:
Sheets("Hoja2").Range("Lista")

Nota2: en la Validacion tendras que inhabilitar las alertas en caso de introducir un valor invalido (3ra pestana)

Saludos,
KL


"jjm" wrote in message news:
Tego una lista introducida desde Validar, cómo puedo llamar a una macro
cuando seleccione un valor distinto de la lista.

Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida