Unir dos macros con for to next

Buenas tengo las dos siguientes macros y necesito unirlas, para que cada vez que realize un filtro por fecha cree una hoja llamada Dia x (esto iría en base numero de filtrado, primer filtrado Dia1, segundo filtrado dia2, etc).

Esta es la parte que filtra por días:

Sub filtrar()

Dim Fecha1 As Long, Fecha2 As Long
Dim t As Long
Sheets("XV").Select
Fecha1 = Range("AH1") 'fecha inicial
Fecha2 = Range("AI1") 'fecha final
For t = Fecha1 To Fecha2
With ActiveSheet
If .AutoFilterMode = True Then .AutoFilterMode = False
End With
Range("A1").AutoFilter field:=4, Criteria1:=">=" & t, Operator:=xlAnd, Criteria2:="<=" & t
Selection.Copy ' esto lo modifico para que copie lo filtrado

Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False ' se pegaría en la hoja correspondiente
Next

End Sub

y esta es la parte con la que creo las hojas:

sub crea()

Dim d As Long
For d = 1 To Range("Aj1").Value 'en esta celda se el numero de repeticiones que hay
Sheets.Add
ActiveSheet.Name = "Dia" & d
Next d

End Sub

Gracias de antemano

1 Respuesta

Respuesta
1

Prueba con esto y me comentas

Sub filtrar()
Dim Fecha1 As Long, Fecha2 As Long
Dim t As Long
Sheets("XV").Select
Fecha1 = Range("AH1") 'fecha inicial
Fecha2 = Range("AI1") 'fecha final
d = 1
For t = Fecha1 To Fecha2
    With ActiveSheet
        If .AutoFilterMode = True Then .AutoFilterMode = False
    End With
    Range("A1").AutoFilter field:=4, Criteria1:=">=" & t, Operator:=xlAnd, Criteria2:="<=" & t
    Selection.Copy ' esto lo modifico para que copie lo filtrado
    Sheets.Add
    ActiveSheet.Name = "Dia" & d
    d = d + 1
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False ' se pegaría en la hoja correspondiente
Next
End Sub

Saludos.Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas