Ga naar hoofdinhoud

Hoe kopieer ik rijen van meerdere werkbladen op basis van criteria naar een nieuw blad?

Stel dat u een werkmap heeft met drie werkbladen met dezelfde opmaak als onderstaand screenshot. Nu wilt u alle rijen van deze werkbladen, waarvan kolom C de tekst "Voltooid" bevat, naar een nieuw werkblad kopiëren. Hoe kunt u dit probleem snel en gemakkelijk oplossen zonder ze een voor een handmatig te kopiëren en te plakken?

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


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

De volgende VBA-code kan u helpen om specifieke rijen van alle werkbladen in de werkmap op basis van een bepaalde voorwaarde naar een nieuw werkblad te kopiëren. Doe dit als volgt:

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het modulevenster.

VBA-code: kopieer rijen van meerdere bladen op basis van criteria naar een nieuw blad

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: In de bovenstaande code:

  • De tekst "Voltooid" in deze xRStr = "Voltooid" script geeft de specifieke voorwaarde aan waarop u rijen wilt kopiëren op basis van;
  • C: C In dit Stel xRg = xWs.Range ("C: C") in script geeft de specifieke kolom aan waarin de voorwaarde zich bevindt.

3. Druk vervolgens op F5 sleutel om deze code uit te voeren, en alle rijen met de specifieke voorwaarde zijn gekopieerd en geplakt in een nieuw werkblad met de naam Kutools for Excel in de huidige werkmap. Zie screenshot:


Meer relatieve pull- of kopieergegevensartikelen:

  • Kopieer gegevens naar een ander werkblad met geavanceerd filter in Excel
  • Normaal gesproken kunnen we snel de functie Geavanceerd filter toepassen om gegevens uit de onbewerkte gegevens in hetzelfde werkblad te extraheren. Maar soms, wanneer u probeert het gefilterde resultaat naar een ander werkblad te kopiëren, krijgt u het volgende waarschuwingsbericht. Hoe zou u in dit geval deze taak in Excel kunnen uitvoeren?
  • Kopieer rijen naar een nieuw blad op basis van kolomcriteria in Excel
  • Er is bijvoorbeeld een fruitaankooptabel en nu moet u records naar een nieuw blad kopiëren op basis van gespecificeerd fruit, hoe kunt u dit gemakkelijk in Excel doen? Hier zal ik een aantal methoden introduceren om rijen naar een nieuw blad te kopiëren op basis van kolomcriteria in Excel.
  • Kopieer rijen als kolom specifieke tekst / waarde bevat in Excel
  • Stel dat u cellen met specifieke tekst of waarden in een kolom wilt achterhalen en vervolgens de hele rij wilt kopiëren waarin de gevonden cel zich bevindt, hoe kunt u daar dan mee omgaan? Hier zal ik een aantal methoden introduceren om te achterhalen of kolom specifieke tekst of waarde bevat en vervolgens de hele rij in Excel kopiëren.

  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen en het bewaren van gegevens; Gespleten cellen inhoud; Combineer dubbele rijen en som / gemiddelde... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Favoriete formules en snel invoegen, Bereiken, grafieken en afbeeldingen; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Draaitabel groeperen op weeknummer, dag van de week en meer ... Toon ontgrendelde, vergrendelde cellen door verschillende kleuren; Markeer cellen met formule / naam...
kte tabblad 201905
  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • 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 onderkant
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