Vai al contenuto principale

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 mostrata nell'immagine sottostante. Ora, vuoi copiare tutte le righe da questi fogli di lavoro la cui colonna C contiene il testo "Completato" in un nuovo foglio di lavoro. Come hai potuto risolvere questo problema rapidamente e facilmente senza copiarli e incollarli uno per uno manualmente?

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. Per favore, fai come segue:

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Modulie incolla il codice seguente nella finestra del modulo.

Codice VBA: copia le 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

Note:: Nel codice sopra:

  • Il testo "Completato" in questo xRStr = "Completato" lo script indica la condizione specifica su cui si desidera copiare le righe;
  • C: C in questo Imposta xRg = xWs.Range ("C: C") lo script indica la colonna specifica in cui si trova la condizione.

3. Quindi, premere F5 chiave per eseguire questo codice e tutte le righe con la condizione specifica sono state copiate e incollate in un nuovo foglio di lavoro denominato Kutools per Excel all'interno della cartella di lavoro corrente. Vedi schermata:


Articoli sui dati di pull o copia più relativi:

  • Copia i dati in un altro foglio di lavoro con filtro avanzato in Excel
  • Normalmente, possiamo applicare rapidamente la funzione Filtro avanzato per estrarre i 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 se la colonna contiene testo / valore specifico in Excel
  • Supponendo che tu voglia trovare celle contenenti testo o valore specifico in una colonna e quindi copiare l'intera riga in cui si trova la cella trovata, come potresti gestirla? Qui introdurrò un paio di metodi per trovare se la colonna contiene testo o valore specifico e quindi copiare l'intera riga in Excel.

  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne e conservazione dei dati; Contenuto delle celle divise; Combina righe duplicate e somma / media... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Formule preferite e di inserimento rapido, Intervalli, grafici e immagini; Crittografa celle con password; Crea mailing list e invia email ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Raggruppamento tabelle pivot per numero della settimana, giorno della settimana e altro ... Mostra celle sbloccate e bloccate da diversi colori; Evidenzia le celle che hanno formula / nome...
scheda kte 201905
  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,

thank you very much for the code. I have a question: the code runs smoothly on some of my sheets, but looks like enters an infinite loop in some other ones which makes excel crash. What could the reason be?
This comment was minimized by the moderator on the site
Hello there, thank you so much for the code above, it solved me a problem with a complex file; a solution I have been looking for a while now. Thank you..I have one question. How do I change the code so that it copies the rows but only from colum A to colum Q, so not Entire.Row?Thank you in advance and great work!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations