Que macro usar

Hola tengo una macro que que esta condicionada a una celda, si esta es mayor que "" aparezca un msgbox, esto funciona a la perfección pero solo cuando cambio directamente el valor de la celda en referencia, pero si esa celda esta linkeada con una fórmula a otra ya deja de aparecer el mensaje, ¿cómo lo puedo hacer para que me funcione?
Envío el archivo, para que alguien me pueda ayudar.
http://cid-636ba558f7c9f932.skydrive.live.com/browse.aspx/.Public?uc=1 
Gracias,

1 Respuesta

Respuesta
1
Por lo que veo, quieres que el mensaje aparezca al cambiar la celda B2, pero para hacer cambiar la celda B2, tienes que elegir de la celda D2, ¿cierto? Entonces solo tienes que modificar un poco tu rutina así:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" Or Target.Address = "$D$2" And Target <> "" Then
        MsgBox ("Mensaje")
    End If
End Sub
Solo agregue como Target. Address la celda D2
Estimado,
Sabes que probé esta rutina en un libro y funcionó perfecto pero cuando lo copie en un archivo final solo cambie las celdas me sale un error "AMBIGUOUS NAME DETECTED."
Mi consulta es, yo en esa hoja tengo dos Private Sub Worksheet_Change(ByVal Target As Range) eso genera algún conflicto, ¿para qué ejecute las dos ordenes por separado? ¿Y si es así como puedo solucionarlo?
Atentamente.,
Andrés
Es que no puedes tener dos procedimientos con el mismo nombre, lo que podrías hacer es ponerlo en el evento WorkSheet_Change poner junto con lo demás que tengas, así:If
Target.Address = "$B$2" Or Target.Address = "$D$2" And Target <> "" Then
        MsgBox ("Mensaje")
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas