Pegar en un conjunto de datos filtrados: consejos de Excel

Joe pregunta si hay alguna forma de realizar una operación de pegado filtrado en Excel.

Digamos que tiene 1000 registros en Sheet1. Filtra ese conjunto de datos para mostrarle solo los registros con ProdID = Z. Seleccione el conjunto de datos y péguelo en Sheet2. Bueno, Excel trae solo los registros visibles, por lo que tiene un bloque contiguo de celdas. Tal vez realice algunas transformaciones en esos registros y ahora necesite pegarlo nuevamente en el conjunto de datos original. Excel NO ofrece una forma fácil de hacer esto. La macro de este video ayudará con el proceso. Grabé el episodio 977 de Learn Excel Podcast que muestra una macro para ayudar con esta acción. Aquí encontrará el video y el código utilizado en el libro de Excel.

Ver video

Copia este código

Ajusté un poco el código del video. Esto supone que copiará la fila de encabezado y los registros filtrados de Sheet1 a Sheet2:

Sub PasteBack() ' Assumes the Filterered Sheet1 is active Set DataToCopy = Sheet2.Range("A1").CurrentRegion n = 2 ' index for range to copy from Sheet2 one row at a time, skipping headers For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row ' row 1 is header If Not Rows(i).Hidden Then DataToCopy.Offset(n - 1).Resize(1).Copy Cells(i, 1) n = n + 1 If n> DataToCopy.Rows.Count Then Exit Sub End If Next i End Sub

Una solución sin macros

Después de que se emitió el primer video, Gary envió una nueva solución usando Paste Skip Blanks. Mira ese video aquí :.

Articulos interesantes...