Cuprins
Date de coping , pe baza unor criterii, de pe o foaie pe alta este una dintre sarcinile care se fac frecvent în Excel. Dacă aveți o mulțime de rânduri și doriți să le copiați pe o altă foaie pe baza unor criterii, poate fi destul de obositor și consumator de timp. Dar cu Microsoft Aplicație Visual Basic (VBA) puteți crea macro-uri cu ajutorul cărora puteți copia cu ușurință date de pe o foaie pe alta în funcție de diferite criterii. În acest articol, vă voi arăta cum puteți copia rânduri într-o altă foaie de lucru pe baza a 2 tipuri diferite de criterii, utilizând Excel VBA .
Să spunem că aveți următorul set de date într-o foaie de calcul numită " Date "Acum, doriți să copiați anumite rânduri pe baza unor criterii într-o altă foaie.
Descărcați caietul de practică
Copierea rândurilor într-o altă foaie de calcul pe baza criteriilor.xlsm2 Modalități de copiere a rândurilor într-o altă foaie de lucru pe baza criteriilor prin Excel VBA
1. Copierea rândurilor într-o altă foaie de calcul pe baza unor criterii de text
În această demonstrație, vă voi arăta cum se copiază rândurile dintr-o foaie de calcul în alta pe baza unor criterii de text. Să presupunem că doriți să copiați datele vânzătorilor care vând în Virginia într-o foaie de lucru numită Vânzări zonale folosind Excel VBA . Pentru a face asta, mai întâi,
➤ Presa ALT+F11 pentru a deschide fereastra VBA fereastră.
În VBA fereastră,
➤ Faceți clic pe Introduceți și selectați Modul .
Se va deschide fereastra Modul(Cod) fereastră. Acum,
➤ Introduceți următorul cod în fișierul Modul(Cod) fereastră,
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 End Sub
Codul va crea un macro numit Copy_Criteria_Text care va căuta Virginia în coloana C din foaia de calcul curentă și returnează rândurile care conțin Virginia în foaia de calcul numită Vânzări zonale (Foaia3).
După aceea,
➤ Închideți sau minimalizați fereastra VBA fereastră.
➤ Presa ALT+F8
Se va deschide fereastra Macro fereastră.
➤ Selectați Copy_Criteria_Text în Numele macroului și faceți clic pe Rulați .
Ca rezultat, rândurile cu Virginia vor fi copiate în foaia de lucru numită Vânzări zonale
Citiți mai mult: Cum să copiați automat rândurile în Excel într-o altă foaie (4 metode)
2. Copierea rândurilor într-o altă foaie de lucru pe baza unor criterii de număr
Acum, vă voi arăta cum puteți copia rândurile dintr-o foaie de calcul într-o altă foaie de calcul pe baza unor criterii numerice. Să presupunem că doriți să copiați datele privind vânzările care sunt mai mari de $100000 într-o foaie de calcul numită Vânzări de top . Pentru a face asta, mai întâi,
➤ Presa ALT+F11 pentru a deschide fereastra VBA fereastră.
În VBA fereastră,
➤ Faceți clic pe Introduceți și selectați Modul .
Se va deschide fereastra Modul(Cod) fereastră. Acum,
➤ Introduceți următorul cod în fișierul Modul(Cod) fereastră,
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 =Adevărat Sheet4.Select End Sub
Codul va crea un macro numit Copy_Criteria_Number care va căuta valori mai mari de 100000 în coloana D din foaia de lucru numită Date și returnează rândurile care conțin valori ale vânzărilor mai mari de 100 000 USD în foaia de calcul numită Vânzări de top (Foaia4).
După aceea,
➤ Închideți sau minimalizați fereastra VBA fereastră.
➤ Presa ALT+F8
Se va deschide fereastra Macro fereastră.
➤ Selectați Copy_Criteria_Number în Numele macroului și faceți clic pe Rulați .
Ca urmare, rândurile care conțin valori ale vânzărilor mai mari de 100 000 de dolari vor fi copiate în Vânzări de top fișă de lucru.
Citiți mai mult: Cum să copiați mai multe rânduri în Excel folosind macro (4 exemple)
Concluzie
Cu cele două metode din acest articol, veți putea copia rânduri dintr-o foaie de lucru în altă foaie de lucru pe baza unor criterii diferite folosind Excel VBA. Puteți folosi prima metodă pentru criterii de text și a doua metodă pentru criterii numerice. Dacă aveți orice fel de confuzie cu privire la oricare dintre metode, nu ezitați să lăsați un comentariu.