¿Cómo ejecutar macro si valor de fecha en una celda es el correcto?

Estimados amigos, mi pregunta es la siguiente:

Tengo un rango de celdas G2:G100 de una hoja llamada "Datos" en donde tengo un formato asignado para ingresar fechas ejm:(20/11/2013), necesito poder ejecutar una macro cuando el valor ingresado en una celda A1 de otra Hoja llamada "Resumen" sea igual al valor del mes de la fecha ingresada en "Datos". ¿Existe alguna forma?

1 Respuesta

Respuesta
1

En el código de la página "resumen" pon esto:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim aux As Variant
If Target.Address <> "$A$1" Then Exit Sub ' No es la celda A1
If Target.Value = "" Then Exit Sub
If Not IsNumeric(Target.Value) Then Exit Sub
For i = 2 To 100
aux = Sheets("datos").Cells(i, 7) ' La columna 7ª es la G
If aux <> "" Then
If IsDate(aux) Then
If Month(aux) = Target.Value Then
' llamada a la macro que quieres ejecutar
' puedes pasar el parámetro i que es la línea de la fecha
MsgBox aux & " - " & i ' Ejemplo de una llamada
' SI quieres que se ejecute solo con la primera fecha
' incluye una linea "Exit For", en caso contrario se ejecutará
' la macro tantas veces como meses coincidan
End If
End If
End If
Next i
End Sub

Espero haber entendido bien lo que quieres y que te funcione.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas