(Macro) Necesito recorrer Columnas (Range) entre fechas según el valor de 2 celdas

Tengo esta macro que llama a otro archivo y luego recorre el archivo desde donde es llamado.

Sub Carga_Operacion()
Dim Response As String
Dim Fini As Date
Dim Fter As Date
Dim hora1 As String, fecha1 As String, user1 As String
destino = ActiveWorkbook.Name
nuevo = Application.GetOpenFilename
If nuevo = False Then Exit Sub
Workbooks.Open nuevo
origen = ActiveWorkbook.Name
Workbooks(destino).Activate

' aquí debiera capturar el rango según valor celda $P$1 y $V$1
' recorriendo la columna D,

Hoja48.Range("a2:a500").Select '

' Este debiera ser el rango de inicio
Fini = Hoja48.Range("P1").Value

' Este debiera ser el rango de término
Fter = Hoja48.Range("V1").Value

Do While ActiveCell.Value <> ""
valor = ActiveCell.Value
Set busca = Workbooks(origen).Sheets(1).Range("a2:a65000").Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
ActiveCell.Offset(0, 4).Value = busca.Offset(0, 2).Value
End If
'
ActiveCell.Offset(1, 0).Select
Loop
Workbooks(origen).Activate
ActiveWorkbook.Close False
Response = MsgBox("CARGA REALIZADA CON ÉXITO", vbOKOnly, "AVISO")
End Sub
En Pocas palabras en la Columna D Tengo varias fechas Ordenadas y repetidas, e, i:
19-04-2012
19-04-2012
19-04-2012
20-04-2012
20-04-2012
21-04-2012
21-04-2012
21-04-2012
21-04-2012
21-04-2012

Y en la Celda P1 Tengo el valor inicial 18-04-2012 y en celda V1 la fecha Final 22-04-2012
Solo quiero recorrer la columna D donde esto se cumpla.

1 respuesta

Respuesta
1

for i=1 to Range("D1").End(xlDown).Row

if range("D" & i).text >= range("P1").text then

Fini = i

exit for

end if

next

For j=Fini to Range("D1").End(xlDown).Row

if range("D" & j).text >= range("V1").text then

if range("D" & j).text > range("V1").text then

Fter = j - 1

exit for

else

Fter = j

exit for

end if

end if

Next

El código esta sin probar, ya me dirás si el ordenador no te explota. XD

Una pena que no se pueda usar la función find con condicionales.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas