Macro que filtre datos y los copie a otra hoja

Hola experto, disculpa que te moleste, tengo un problema que no puedo solucionar, hice una macro que filtra datos y me los manda a otra hoja de excel, el problema que tengo es que originalmente quería que los cortara, pero ahora necesito que los copie, y que los datos queden intactos en la hoja original, mi código es el siguiente:
Sub filtrar()
'Mueve los datos a la hoja Filtrar
UserForm3.Hide
Columns("A:M").AdvancedFilter Action:=xlFilterInPlace, criteriarange:=Range("O1:P2"), unique:=False
Cells.Find(What:=Range("O2"), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, searchformat:=False).Activate
Selection.End(xlToLeft).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Cut
Sheets("Datos_filtrados").Activate
Range("A2").Activate
Selection.Insert shift:=xlDown
Sheets("Documentos generados").Activate
ActiveSheet.ShowAllData
Selection.Delete shift:=xlUp
Range("A2").Select
End Sub
en la parte donde dice selection.cut la he cambiado por selection.copy, pero me manda un error en la parte de arriba, lo he intentado modificar de diferentes manera pero no logro hacer que copie los datos, te agradecería si me pudieras ayudar con la solución
Saludos!!

1 respuesta

Respuesta
1

Y en qué fila se detiene la macro cuando te manda el error, ¿y qué error te aparece?

Saludos. Dam

Hola, gracias por contestarme, mira te explico, cuando ejecuto esa macro sin modificarle nada, me corta los archivos filtrados y los pega en otra hoja, pero ahora ya no quiero que haga eso, solo quiero que los copie y los pegue en una hoja que se llama datos_filtrados, pero si modifico la parte que decía de cut por copy, me manda el error en esta linea:

Sheets("Documentos generados").Activate
ActiveSheet.ShowAllData
Selection.Delete shift:=xlUp
Range("A2").Select

en ese espacio me marca un error, se coloca en amarillo y me da error de compilación, y si elimino la parte de: Selection.Delete shift:=xlUp y reemplazo el cut por el copy, si copia los datos, pero de una forma incorrecta, espero que de esta forma quede un poco mas clara, o necesitas que te envíe un archivo de ejemplo ?

Saludos!!

Si, envíame un archivo con el ejemplo y con la macro que si funciona.

Hola nuevamente

Ya te envíe el archivo a tu correo

Gracias por tu ayuda :)

Listo !

Te envié el archivo

Saludos. Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas