Excel VBA för att kopiera rader till ett annat arbetsblad baserat på kriterier

  • Dela Detta
Hugh West

Uppgifter om hantering , baserat på kriterier, från ett ark till ett annat är en av de vanligaste uppgifterna i Excel. Om du har många rader och vill kopiera dem till ett annat ark baserat på vissa kriterier kan det vara ganska tröttsamt och tidskrävande. Men med Microsoft Visual Basic-applikation (VBA) kan du skapa makron som gör att du enkelt kan kopiera data från ett ark till ett annat baserat på olika kriterier. I den här artikeln visar jag dig hur du kan hur du kan kopiera rader till ett annat arbetsblad baserat på 2 olika typer av kriterier med hjälp av Excel VBA. .

Låt oss säga att du har följande dataset i ett kalkylblad som heter " Uppgifter "Du vill nu kopiera vissa rader utifrån vissa kriterier i ett annat ark.

Ladda ner övningsboken

Kopiera rader till ett annat kalkylblad baserat på kriterier.xlsm

2 sätt att kopiera rader till ett annat arbetsblad baserat på kriterier med Excel VBA

1. Kopiera rader till ett annat kalkylblad baserat på textkriterier

I den här demonstrationen ska jag visa hur du kopierar rader från ett kalkylblad till ett annat baserat på textkriterier. Antag att du vill kopiera data för de säljare som säljer i Virginia i ett arbetsblad som heter Försäljning inom området använda Excel VBA För att göra det först,

➤ Press ALT+F11 för att öppna VBA fönster.

I VBA fönster,

➤ Klicka på Infoga och välj Modul .

Den öppnar Modul (kod) fönster. Nu,

➤ Lägg in följande kod i Modul (kod) fönster,

 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 Slut Sub 

Koden kommer att skapa en makro som heter Kopiera_kriterier_text som söker efter Virginia i kolumnen C i det aktuella arbetsbladet och återger de rader som innehåller Virginia i arbetsbladet som heter Försäljning inom området (Blad3).

Efter det,

➤ Stäng eller minimera VBA fönster.

➤ Press ALT+F8

Den öppnar Makro fönster.

➤ Välj Kopiera_kriterier_text i den Makronamn och klicka på Kör .

Resultatet blir att raderna med Virginia kopieras till arbetsbladet som heter Försäljning inom området

Läs mer: Hur du kopierar rader automatiskt i Excel till ett annat ark (4 metoder)

2. Kopiera rader till ett annat kalkylblad baserat på antalskriterier

Nu ska jag visa dig hur du kan kopiera rader från ett kalkylblad till ett annat kalkylblad baserat på antalskriterier. Antag att du vill kopiera data om försäljningen som är större än 100000 dollar till ett kalkylblad som heter Toppförsäljning För att göra det först,

➤ Press ALT+F11 för att öppna VBA fönster.

I VBA fönster,

➤ Klicka på Infoga och välj Modul .

Den öppnar Modul (kod) fönster. Nu,

➤ Lägg in följande kod i Modul (kod) fönster,

 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 End Sub 

Koden kommer att skapa en makro som heter Kopiera_kriterier_nummer som söker efter värden som är större än 100000 i kolumnen D i arbetsbladet som heter Uppgifter och återge de rader som innehåller försäljningsvärden som överstiger 100000 dollar i kalkylbladet som heter Toppförsäljning (Blad4).

Efter det,

➤ Stäng eller minimera VBA fönster.

➤ Press ALT+F8

Den öppnar Makro fönster.

➤ Välj Kopiera_kriterier_nummer i den Makronamn och klicka på Kör .

Som ett resultat av detta kommer de rader som innehåller försäljningsvärden på mer än 100000 dollar att kopieras till Toppförsäljning arbetsblad.

Läs mer: Hur man kopierar flera rader i Excel med hjälp av makro (4 exempel)

Slutsats

Med de två metoderna i den här artikeln kan du kopiera rader från ett kalkylblad till ett annat kalkylblad baserat på olika kriterier med hjälp av Excel VBA. Du kan använda den första metoden för textkriterier och den andra metoden för sifferkriterier. Om du har någon typ av förvirring om någon av metoderna är du välkommen att lämna en kommentar.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.