Macro que al modificar un valor en una celda se ejecute automáticamente

Tengo una Macro que al modificar un valor en un celda se ejecuta automáticamente, el tema es el siguiente yo necesito que me funcione en un conjunto de celdas, por ejemplo de A1 a A20. A su vez la otra Macro a la cual llama tiene que funcionar desde D1 a D20.

Ejemplo:

Al ingresar en numero de cheque en la Celda A1 por ejemplo, automáticamente me busca la fecha y todo lo demás a través de la fórmula BuscarV, y si en el celda D1 me sale HOY se ejecuta la macro Aviso. El tema es quiero que funciones desde A1 hasta A20 y no quiero copiar y pegar 20 veces la macro porque a parte me repite los eventos de esa manera.

                      A                              B                             C                                      D

1             1200                           12/9/14                   Nacion                           HOY

2             1201                           12/9/14                   Nacion                           HOY

3             1202                           12/9/14                   Nacion                           15 Dias

4             1203                           12/9/14                   Nacion                           30 Dias

Esta es la Macro que tengo:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$1" Then Aviso

End Sub

Sub Aviso

Sheets("Hoja1").Select
If Cells(1, 4) = "Hoy" Then
MsgBox "Hoy ingresa Cheque " , vbExclamation

End If
End Sub

1 respuesta

Respuesta
1

Te anexo la macro del evento, en el mismo evento se verifica el aviso.

Private Sub Worksheet_Change(ByVal Target As Range)
'Mod.Por.DAM
    If Not Intersect(Target, Range("A1:A20")) Is Nothing Then
        If UCase(Cells(b.Row, "D")) = UCase("HOY") Then
            MsgBox "Hoy ingresa Cheque ", vbExclamation
        End If
    End If
End Sub

Prueba y me comentas si le falta algo

Saludos. Dante Amor

Gracias Dante, ahí lo probé pero me tira un error cuando introduzco el numero de cheque. Me pone:

Se a producido el error "424" en tiempo de ejecución:

Se requiere un objeto

Y me colorea esta línea dentro de la macro:

If UCase(Cells(b.Row, "D")) = UCase("hoy") Then

Recorda que yo en las celdas D tengo esta formula: =CONSULTAV(A2;Hoja3!$A$2:$D$5;4;FALSO)

Disculpa, prueba ahora con esta:

Private Sub Worksheet_Change(ByVal Target As Range)
'Mod.Por.DAM
    If Not Intersect(Target, Range("A1:A20")) Is Nothing Then
        If UCase(Cells(Target.Row, "D")) = UCase("HOY") Then
            MsgBox "Hoy ingresa Cheque ", vbExclamation
        End If
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas