Come copiare righe da più fogli di lavoro in base a criteri in un nuovo foglio?
Supponiamo che tu abbia una cartella di lavoro con tre fogli di lavoro che hanno la stessa formattazione come mostrato nello screenshot sottostante. Ora, vuoi copiare tutte le righe da questi fogli di lavoro dove la colonna C contiene il testo “Completato” in un nuovo foglio di lavoro. Come potresti risolvere rapidamente e facilmente questo problema senza copiare e incollare manualmente uno per uno?
![]() | ![]() | ![]() |
Copia righe da più fogli di lavoro in base a criteri in un nuovo foglio con codice VBA
Copia righe da più fogli di lavoro in base a criteri in un nuovo foglio con codice VBA
Il seguente codice VBA può aiutarti a copiare righe specifiche da tutti i fogli di lavoro all'interno della cartella di lavoro in base a una determinata condizione in un nuovo foglio di lavoro. Procedi come segue:
1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella finestra del Modulo.
Codice VBA: Copia righe da più fogli in base a criteri in un nuovo foglio
Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
If xWs.Name <> xStr Then
Set xRg = xWs.Range("C:C")
Set xRg = Intersect(xRg, xWs.UsedRange)
For Each xRRg In xRg
If xRRg.Value = xRStr Then
xRRg.EntireRow.Copy
xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
xC = xC + 1
End If
Next xRRg
End If
Next xWs
Application.DisplayAlerts = True
End Sub
Nota: Nel codice sopra:
- Il testo “Completato” in questo script xRStr = "Completato" indica la condizione specifica in base alla quale desideri copiare le righe;
- C:C in questo script Set xRg = xWs.Range("C:C") indica la colonna specifica in cui si trova la condizione.
3. Successivamente, premi il tasto F5 per eseguire questo codice, e tutte le righe con la condizione specifica verranno copiate e incollate in un nuovo foglio di lavoro denominato Kutools per Excel all'interno della cartella di lavoro corrente. Vedi screenshot:
Altri articoli relativi al recupero o alla copia dei dati:
- Copia dati in un altro foglio di lavoro con filtro avanzato in Excel
- Normalmente, possiamo applicare rapidamente la funzione Filtro avanzato per estrarre dati dai dati grezzi nello stesso foglio di lavoro. Ma, a volte, quando provi a copiare il risultato filtrato in un altro foglio di lavoro, riceverai il seguente messaggio di avviso. In questo caso, come potresti gestire questa attività in Excel?
- Copia righe in un nuovo foglio in base ai criteri della colonna in Excel
- Ad esempio, c'è una tabella di acquisto di frutta, e ora devi copiare i record in un nuovo foglio in base alla frutta specificata, come farlo facilmente in Excel? Qui ti presenterò alcuni metodi per copiare righe in un nuovo foglio in base ai criteri della colonna in Excel.
- Copia righe se la colonna contiene testo/valore specifico in Excel
- Supponendo che tu voglia trovare celle contenenti testo o valore specifico in una colonna, e poi copiare l'intera riga in cui si trova la cella trovata, come potresti gestirlo? Qui ti presenterò alcuni metodi per scoprire se la colonna contiene testo o valore specifico e poi copiare l'intera riga in Excel.
I migliori strumenti per la produttività di Office
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
- Barra delle formule super (modifica facilmente più righe di testo e formule); Layout di lettura (leggi ed edita facilmente un gran numero di celle); Incolla in un intervallo filtrato...
- Unisci celle/righe/colonne mantenendo i dati; Dividi il contenuto delle celle; Combina righe duplicate e somma/media... Prevenire celle duplicate; Confronta intervalli...
- Seleziona righe duplicate o uniche; Seleziona righe vuote (tutte le celle sono vuote); Super Trova e Trova approssimativa in molte cartelle di lavoro; Selezione casuale...
- Copia esatta di più celle senza cambiare il riferimento della formula; Crea automaticamente riferimenti a più fogli; Inserisci punti elenco, caselle di controllo e altro...
- Preferiti e inserimento rapido di formule, intervalli, grafici e immagini; Crittografa celle con password; Crea elenco di invio e invia email...
- Estrai testo, aggiungi testo, rimuovi caratteri in una posizione specifica, rimuovi spazio; Crea e stampa statistiche pagina dati; Converti tra contenuto delle celle e commenti...
- Super Filtri (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese/settimana/giorno, frequenza e altro; Filtro speciale per grassetto, corsivo...
- Unisci cartelle di lavoro e fogli di lavoro; Unisci tabelle basandoti su colonne chiave; Suddividi dati in più fogli; Conversione batch di xls, xlsx e PDF...
- Raggruppamento tabella pivot per numero di settimana, giorno della settimana e altro... Mostra celle sbloccate, celle bloccate con colori diversi; Evidenziazione celle che hanno formula/nome...

- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea documenti multipli in nuove schede della stessa finestra, anziché in nuove finestre.
- Aumenta la tua produttività del 50%, e riduce centinaia di clic del mouse ogni giorno!
