Hola! anoche estuve revisando, tuve que hacer unos pequeños ajustes en la direccion de la carpeta (en vez de poner la direccion en partes la coloque toda de corrido parecida a como estaba antes) y logramos (vos y yo) que funcione!. Tambien tuve que desactivar la linea de código que bloqueaba la hoja porque sino no estaba dejando que la macro escriba el codigo de la propiedad en la celda, pero eso es lo de menos, supongo que lo puedo solucionar poniendo el bloqueo al final de la macro que creaste o desprotegiendo la celda donde se pone el codigo de propiedad.
Así que doy por supuesto que eso lo voy a poder hacer funcionar por lo que entonces voy a marcar como que ya está solucionado lo que necesitaba.
Agradezco muchisimo tu ayuda porque era sumamente tedioso tener que estar haciendo los recibos de a uno ya que la macro de envio de recibos es medio lenta. Ahora no me importa si tarda mucho, apretaré el boton y le daré todo el tiempo que se quiera tomar mientras yo hago otra cosa.
Gracias nuevamente!!!!
Por
Corvette, · publicado
Hola a todos,
Antes de nada os felicito por facilitarnos a todos nuestras jornadas con excel.
Os comento mi problema:
Quiero conseguir filtrar de una columna entre una fecha con su hora y
otra fecha con su hora.
Para esto he optado, tras consultar por muchas paginas, por
transformar la fecha en formato long y la hora en formato double,
esto mismo es lo que le paso a la funcion Autofilter en su campo
"criteria" y se supone que tendria que funcionar.
Tras ejecutar el código el resultado está vacio. Investigando en el
propio excel, depurando, para ver que es lo que ha filtrado (me voy a
filtrado entre fechas y veo que hay escrito) y aparece que le falta
la "coma" en el valor numerico.
No se a que puede ser debido, sabrías si es necesario actualizar las
referencias para poder trabajar correctamente con autofilter?
Muchisimas gracias por vuestra ayuda!
Incluyo el codigo en cuestion:
Sub Filtrar_entre_fechas()
Dim Dayfilter As Date
Dim Dayfilter2 As Date
Dim Shift1 As Date
Dim Shift2 As Date
Dim lFecha1 As Long, lFecha2 As Long
Dim dtime1 As Double, ddtime2 As Double
Dim ddatetime1 As Double
Dim ddatetime2 As Double
Dim prueba1 As String
Dim prueba2 As String
Dayfilter = "11/12/2012"
Dayfilter2 = "12/12/2012"
Shift1 = "7:00"
Shift2 = "15:00"
Range("R1") = Dayfilter
Range("R2") = Dayfilter2
Range("R3") = Shift1
Range("R4") = Shift2
lFecha1 = Range("R1")
lFecha2 = Range("R2")
dtime1 = Range("R3")
dtime2 = Range("R4")
ddatetime1 = lFecha1 + dtime1
ddatetime2 = lFecha2 + dtime2
prueba1 = Mid(dtime1, 2)
prueba2 = Mid(dtime2, 2)
With ActiveSheet
If .AutoFilterMode = True Then .AutoFilterMode = False
End With
Cells.Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$E$1903").AutoFilter Field:=1, Criteria1:="MicroparoB1100"
'ActiveSheet.Range("$A$1:$E$1903").AutoFilter Field:=2, Criteria1:=">=" & ddatetime1, Operator:=xlAnd, Criteria2:="<=" & ddatetime2
ActiveSheet.Range("$A$1:$E$1903").AutoFilter Field:=2, Criteria1:=">=" & lFecha1 & prueba1, Operator:=xlAnd, Criteria2:="<=" & lFecha2 & prueba2
End Sub