Incollare in un set di dati filtrato - Suggerimenti per Excel

Joe chiede se esiste un modo per eseguire un'operazione di incolla filtrata in Excel.

Supponi di avere 1000 record su Sheet1. Si filtra il set di dati per visualizzare solo i record con ProdID = Z. Selezionare il set di dati e incollarlo in Sheet2. Bene, Excel porta solo i record visibili, quindi hai un blocco contiguo di celle. Forse fai alcune trasformazioni a quei record e ora devi incollarlo di nuovo nel set di dati originale. Excel NON offre alcun modo semplice per farlo. La macro in questo video aiuterà con il processo. Ho registrato l'episodio 977 di Learn Excel Podcast che mostra una macro per aiutare con questa azione. Qui troverai il video e il codice utilizzato nella cartella di lavoro di Excel.

Guarda un video

Copia questo codice

Ho regolato un po 'il codice dal video. Ciò presuppone che copierai la riga di intestazione e i record filtrati da 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 soluzione senza macro

Dopo la messa in onda del primo video, Gary ha inviato una nuova soluzione utilizzando Paste Skip Blanks. Guarda quel video qui :.

Articoli interessanti...