Como hacer que una macro en excel reconozca una fecha

Hola experto:
Recurro a ti para solicitar de tu valiosa ayuda en lo siguiente:
Estoy escribiendo una macro la cual se basa en un criterio de fecha de si es menor al 01/01/2009 me inserte una fila debajo de esta. Por ejemplo tengo fechas en la columna A y deberá recorrer todo el rango ocupado y si encuentra una fecha que sea menor a la fecha que te mencioné inserte toda una fila debajo de esa fecha, pero en lo que estoy atorado es en el hecho de que no sé cómo hacer que en el código VBA se reconozca la fecha como valor ya que yo lo meto así:
    Range("A2").Select
    fecha = 1 / 1 / 2009
    Do While ActiveCell <> ""
    If ActiveCell.Value < fecha Then
    ActiveCell.EntireRow.Select
    Selection.Insert Shift:=xlDown
    End If
    ActiveCell.Offset(1, 0).Select
    Loop
Pero cuando llega a la linea en donde evalúa la fecha aunque se cumpla la condición no reconoce el valor de la celda como fecha y no hace lo que dice el código, creo que el error está en alguna de las dos filas que resalto en negrita no se si tengo que darle un formato especial a mi variable fecha o la estoy declarando mal. El formato de celdas que tengo en mi hoja es "dd/mm/aaaa" y creo que no es compatible con el formato del código por eso no reconoce el valor.
Podrías ayudarme por favor en decirme cómo hacerle para que la macro unifique los formatos de fechas y puedan ser comparables. De antemano agradezco mucho tu atención.

2 respuestas

Respuesta
1
Las fechas en VBA hay que ponerlas en formato mm/dd/yyyy no en dd/mm/yyyy el código quedaría así, de todas formas lo pruebas como lo tienes y si no te lo reconoce cambias el mes por el día en la condición de la macro:
Sub comprobar()
Dim fecha As Date
Range("A1").Select
fecha = "01/01/2009"
    Do While ActiveCell <> ""
    If ActiveCell.Value < fecha Then
    ActiveCell.Offset(1, 0).Select
    ActiveCell.EntireRow.Insert
    End If
    ActiveCell.Offset(1, 0).Select
    Loop
End Sub
>Un saludo
>Julio
PD: Finaliza y puntúa la consulta.
Respuesta
1
Tienes que incluirla de este modo: fecha = #1-1-2009#

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas