Código de selección de datos por fecha no funciona
Saludos, solicito su ayuda ya que no estoy muy ducho con excel vb.... Tengo en la hoja 1 de excel una serie de datos almacenados; en la columna "B" se almacenan fechas y en la columna "C" se almacena el tipo de movimiento. Debo seleccionar de dicha hoja y pegar en otra, ciertos datos de aquellas filas que cumplan el criterio de que su fecha sea igual a una fecha establecida en la celda "O1" y que el tipo de movimiento sea igual al indicado en el código. Ahora bien, en el código de vb excel 2007 que estoy usando me hace la selección y copiado de los datos pero cumpliendo solo la condición del tipo de movimiento y no me toma en cuenta el de la fecha... ¿En donde esta el error?...
Este es el código que estoy usando:
Function ComparaFechas(ByVal Fecha1 As Date, Fecha2 As Date) As Boolean
If FormatDateTime(Fecha1, vbShortDate) = FormatDateTime(Fecha2, vbShortDate) Then
ComparaFechas = True
Else
ComparaFechas = False
End If
End Function
Sub exporta()
Application.ScreenUpdating = False
On Error Resume Next
Dim filaex, filaim, conta As Integer
Dim Fecha1, Fecha2 As Date
filaex = 6
filaim = 2
conta = 0
Fecha1 = Range("B6:B5000").Value ' rango con las fechas que se quieren comparar
Fecha2 = Range("O1").Value
While Sheets("Registro").Cells(filaex, 1) <> Empty
If ComparaFechas(Fecha1, Fecha2) = True Then
If Sheets("Registro").Cells(filaex, 3) = "Ingreso" Then
Sheets("Resumen").Cells(filaim, 1) = Sheets("Registro").Cells(filaex, 4)
Sheets("Resumen").Cells(filaim, 2) = Sheets("Registro").Cells(filaex, 5)
Sheets("Resumen").Cells(filaim, 3) = Sheets("Registro").Cells(filaex, 6)
Sheets("Resumen").Cells(filaim, 4) = Sheets("Registro").Cells(filaex, 7)
Sheets("Resumen").Cells(filaim, 5) = Sheets("Registro").Cells(filaex, 8)
Sheets("Resumen").Cells(filaim, 6) = Sheets("Registro").Cells(filaex, 9)
Sheets("Resumen").Cells(filaim, 7) = Sheets("Registro").Cells(filaex, 10)
Sheets("Resumen").Cells(filaim, 8) = Sheets("Registro").Cells(filaex, 11)
Sheets("Resumen").Cells(filaim, 9) = Sheets("Registro").Cells(filaex, 12)
Sheets("Resumen").Cells(filaim, 10) = Sheets("Registro").Cells(filaex, 13)
conta = conta + 1
filaim = filaim + 1
End If
End If
filaex = filaex + 1
Wend
MsgBox (" Se registraron con exito " & conta & " Transacciones de Ingreso"), vbInformation
Application.ScreenUpdating = False
End Sub
Al ejecutarlo me copia en la hoja "Resumen", todas las filas encontradas de "ingreso" sin importar la fecha que se coloque en "O1"... De antemano....Gracias