Problema con autofiltro al pegar los resultados

Una vez más estoy atascado. Utilizo el siguiente código para extraer de un rango determinado aquellas filas que contienen en la cuarta columna la expresión "Horas extras" y después pegarlo en un informe en el que no se ven las celdas con el filtro, sino solo los resultados:

Range("A1:E32").Select  'selecciono el rango a filtrar
Selection.AutoFilter Field:=4, Criteria1:="Horas extras"  'aplico el filtro
Range("a2:E32"). Copy 'copio la parte que me interesa (sin la primera fila, que es donde está ubicado el 'filtro y que no tiene información válida, es una fila en blanco).

Sheets("hoja2").Select 'Selecciono la hoja en la que voy a pegarlo y el rango y pego solamente los datos.
Sheets("hoja2").Range("B4:F34").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

En principio, funciona bien, salvo cuando el filtro solo arroja un resultado. En ese caso, repite el resultado en todo el rango en lugar de copiarlo exclusivamente en la primera fila. Si hay más resultados funciona bien... ¿Hay algún modo de evitar esto?

Respuesta
1

Creo, y según la información que brindas, que tú problema se soluciona indicando apenas la celda inicial en la que se van a pegar los datos . Es decir en la línea que tienes:

Sheets("hoja2"). Range("B4:F34").Select

edítala de esta forma: 

Sheets("hoja2"). Range("B4").Select

Adicionalmente para optimizar tu código revisa este artículo: https://www.todoexcel.com/14-formas-de-acelerar-y-optimizar-tus-macros-excel/ 

Espero que te sea de ayuda

Felices fiestas!

Si has logrado una solución, recuerda finalizar y puntuar la pregunta, de otro modo no dudes en ampliar tu caso

¡Gracias! Muchísimas gracias, era eso realmente, seleccionando solo la primera celda del rango en el que deseaba copiarlo, se solucionó inmediatamente. Muchísimas gracias una vez más y, por cierto, Felices fiestas a ti también y a todos los que me han ayudado hoy...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas