Excel VBA per copiare righe in un altro foglio di lavoro in base a criteri

  • Condividi Questo
Hugh West

Dati di coping Se si dispone di molte righe e si desidera copiarle in un altro foglio in base ad alcuni criteri, può risultare piuttosto faticoso e dispendioso in termini di tempo. Ma con Microsoft Applicazione Visual Basic (VBA) è possibile creare macro con le quali è possibile copiare facilmente i dati da un foglio all'altro in base a diversi criteri. In questo articolo vi mostrerò come copiare le righe ad un altro foglio di lavoro in base a 2 diversi tipi di criteri utilizzando il VBA di Excel. .

Supponiamo di avere il seguente set di dati in un foglio di lavoro chiamato " Dati "Ora si desidera copiare righe specifiche in base ad alcuni criteri in un altro foglio.

Scarica il quaderno di esercizi

Copiare righe in un altro foglio di lavoro in base a criteri.xlsm

2 modi per copiare righe in un altro foglio di lavoro in base a criteri con Excel VBA

1. Copiare righe in un altro foglio di lavoro in base a criteri di testo

In questa dimostrazione, vi mostrerò come copiare le righe da un foglio di lavoro a un altro in base a criteri di testo. Supponiamo di voler copiare i dati dei venditori che vendono in Virginia in un foglio di lavoro denominato Area vendite utilizzando Excel VBA Per farlo, prima di tutto,

➤ Stampa ALT+F11 per aprire il VBA finestra.

Nel VBA finestra,

➤ Fare clic sul pulsante Inserire e selezionare Modulo .

Si aprirà la finestra Modulo(Codice) finestra. ora,

➤ Inserire il seguente codice nel file Modulo(Codice) finestra,

 Sub Copy_Criteria_Text() Application.ScreenUpdating = False With ActiveSheet .AutoFilterMode = False With Range("C1", Range("C" & Rows.Count).End(xlUp)) .AutoFilter 1, "Virginia" On Error Resume Next .Offset(1).EntireRow.Copy Sheet3.Range("A" & Rows.Count).End(xlUp).Offset(1) End With .AutoFilterMode = False End With Application.ScreenUpdating = TrueSheet3.Select Fine Sub 

Il codice creerà una macro denominata Copia_Criteri_Testo che cercherà la Virginia nella colonna C del foglio di lavoro corrente e restituisce le righe che contengono Virginia nel foglio di lavoro denominato Area vendite (Scheda3).

Dopo di che,

➤ Chiudere o ridurre a icona l'applicazione VBA finestra.

➤ Stampa ALT+F8

Si aprirà la finestra Macro finestra.

➤ Selezionare Copia_Criteri_Testo nel Nome della macro e fare clic su Correre .

Di conseguenza, le righe con Virginia saranno copiate nel foglio di lavoro denominato Area vendite

Per saperne di più: Come copiare automaticamente le righe in Excel in un altro foglio (4 metodi)

2. Copiare righe in un altro foglio di lavoro in base a criteri numerici

Ora vi mostrerò come copiare le righe da un foglio di lavoro a un altro foglio di lavoro in base a criteri numerici. Supponiamo di voler copiare i dati delle vendite superiori a 100.000 dollari in un foglio di lavoro denominato Vendite top Per farlo, prima di tutto,

➤ Stampa ALT+F11 per aprire il VBA finestra.

Nel VBA finestra,

➤ Fare clic sul pulsante Inserire e selezionare Modulo .

Si aprirà la finestra Modulo(Codice) finestra. ora,

➤ Inserire il seguente codice nel file Modulo(Codice) finestra,

 Sub Copy_Criteria_Number() Application.ScreenUpdating = False With ActiveSheet .AutoFilterMode = False With Range("D1", Range("D" & Rows.Count).End(xlUp)) .AutoFilter 1, ">100000" On Error Resume Next .Offset(1).EntireRow.Copy Sheet4.Range("A" & Rows.Count).End(xlUp).Offset(1) End With .AutoFilterMode = False End With Application.ScreenUpdating =True Sheet4.Select Fine Sub 

Il codice creerà una macro denominata Numero_Criteri_di_Copia che cercherà valori superiori a 100000 nella colonna D del foglio di lavoro denominato Dati e restituire le righe che contengono valori di vendita superiori a 100000 dollari nel foglio di lavoro denominato Vendite top (Foglio4).

Dopo di che,

➤ Chiudere o ridurre a icona l'applicazione VBA finestra.

➤ Stampa ALT+F8

Si aprirà la finestra Macro finestra.

➤ Selezionare Numero_Criteri_di_Copia nel Nome della macro e fare clic su Correre .

Di conseguenza, le righe che contengono valori di vendita superiori a 100.000 dollari saranno copiate nel file Vendite top foglio di lavoro.

Per saperne di più: Come copiare più righe in Excel usando una macro (4 esempi)

Conclusione

Con i due metodi di questo articolo, sarete in grado di copiare righe da un foglio di lavoro a un altro foglio di lavoro in base a criteri diversi utilizzando Excel VBA. Potete utilizzare il primo metodo per i criteri di testo e il secondo metodo per i criteri numerici. Se avete qualsiasi tipo di confusione su uno dei metodi, non esitate a lasciare un commento.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.