Skip to main content

Kutools voor Office — Eén Suite. Vijf Tools. Verwezenlijkt Meer.

Hoe rijen van meerdere werkbladen op basis van criteria naar een nieuw werkblad kopiëren?

Author Xiaoyang Last modified

Stel dat je een werkboek hebt met drie werkbladen die dezelfde opmaak hebben zoals in onderstaande schermafbeelding te zien is. Nu wil je alle rijen uit deze werkbladen waar kolom C de tekst “Voltooid” bevat, kopiëren naar een nieuw werkblad. Hoe kun je dit probleem snel en gemakkelijk oplossen zonder ze handmatig één voor één te kopiëren en plakken?

sample data 1 ample data 2 ample data 3

Kopieer rijen van meerdere werkbladen op basis van criteria naar een nieuw werkblad met VBA-code


Kopieer rijen van meerdere werkbladen op basis van criteria naar een nieuw werkblad met VBA-code

De volgende VBA-code kan je helpen om specifieke rijen van alle werkbladen binnen het werkboek op basis van een bepaalde voorwaarde naar een nieuw werkblad te kopiëren. Doe het volgende:

1. Houd de toetsen ALT + F11 ingedrukt om het Microsoft Visual Basic for Applications-venster te openen.

2. Klik op Invoegen > Module, en plak de volgende code in het Modulevenster.

VBA-code: Kopieer rijen van meerdere bladen op basis van criteria naar een nieuw werkblad

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

Opmerking: In bovenstaande code:

  • De tekst “Voltooid” in dit xRStr = "Voltooid" script geeft de specifieke voorwaarde aan waarop je rijen wilt kopiëren;
  • C:C in dit Set xRg = xWs.Range("C:C") script geeft de specifieke kolom aan waar de voorwaarde zich bevindt.

3. Druk vervolgens op de F5-toets om deze code uit te voeren, en alle rijen met de specifieke voorwaarde zijn gekopieerd en geplakt in een nieuw werkblad genaamd Kutools for Excel binnen het huidige werkboek. Zie screenshot:

vba code to copy rows from multiple worksheets based on criteria



Meer gerelateerde artikelen over gegevens ophalen of kopiëren:

  • Gegevens kopiëren naar een ander werkblad met Geavanceerd filter in Excel
  • Normaal gesproken kunnen we snel de functie Geavanceerd filter gebruiken om gegevens uit de ruwe gegevens in hetzelfde werkblad te extraheren. Maar soms, wanneer je probeert de gefilterde resultaten naar een ander werkblad te kopiëren, krijg je het volgende waarschuwingsbericht. In dit geval, hoe kun je deze taak in Excel afhandelen?
  • Rijen kopiëren naar een nieuw werkblad op basis van kolomcriteria in Excel
  • Bijvoorbeeld, er is een fruitinkoop tabel, en nu moet je records kopiëren naar een nieuw werkblad op basis van een gespecificeerd fruit. Hoe kun je dit eenvoudig in Excel doen? Hier introduceer ik een paar methoden om rijen te kopiëren naar een nieuw werkblad op basis van kolomcriteria in Excel.
  • Rijen kopiëren als kolom specifieke tekst/waarde bevat in Excel
  • Stel dat je cellen wilt vinden die specifieke tekst of waarde in een kolom bevatten, en vervolgens de hele rij waarin de gevonden cel zich bevindt wilt kopiëren, hoe zou je dat aanpakken? Hier introduceer ik een paar methoden om te controleren of een kolom specifieke tekst of waarde bevat en vervolgens de hele rij in Excel te kopiëren.

  • Super Formulebalk (bewerk eenvoudig meerdere regels tekst en formules); Leeslayout (lees en bewerk eenvoudig grote aantallen cellen); Plakken in gefilterd bereik...
  • Cellen/Rijen/Kolommen samenvoegen en gegevens behouden; Celinhoud splitsen; Dubbele rijen combineren en optellen/gemiddelde berekenen... Voorkom dubbele cellen; Bereiken vergelijken...
  • Selecteer dubbele of unieke rijen; Selecteer lege rijen (alle cellen zijn leeg); Super Zoeken en Fuzzy Zoeken in veel werkboeken; Willekeurige selectie...
  • Exacte kopie van meerdere cellen zonder formuleverwijzing te wijzigen; Automatisch verwijzingen naar meerdere werkbladen maken; Opsommingstekens, selectievakjes en meer invoegen...
  • Favoriete en snel formules, bereiken, grafieken en afbeeldingen invoegen; Cellen versleutelen met wachtwoord; Mailinglijst maken en e-mails versturen...
  • Tekst extraheren, Tekst toevoegen, Verwijder tekens op een specifieke positie, Spaties verwijderen; Maak en print statistieken per pagina; Converteer tussen celinhoud en opmerkingen...
  • Superfilter (filter schema's opslaan en toepassen op andere werkbladen); Geavanceerd sorteren op maand/week/dag, frequentie en meer; Speciaal filteren op vet, cursief...
  • Werkboeken en werkbladen combineren; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere werkbladen; Batchconversie xls, xlsx en PDF...
  • Draaitabelgroepering op weeknummer, dag van de week en meer... Toon ontgrendelde, vergrendelde cellen met verschillende kleuren; Markeer cellen die een formule/naam bevatten...
kte tab 201905
  • Schakel tabbladbewerking en -lezen in Word, Excel, PowerPoint, Publisher, Access, Visio en Project in.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab bottom