Kopieer een kolom of kolommen van elk blad naar één blad met VBA in Microsoft Excel

Inhoudsopgave

Soms wordt het routinewerk om gegevens van meerdere bladen voor dezelfde kolom te kopiëren. Deze stap kan worden vermeden met behulp van automatisering. Als u een geconsolideerd blad wilt maken nadat u gegevens uit een kolom van elk blad naar één blad hebt gekopieerd, moet u dit artikel lezen.

In dit artikel zullen we een macro maken om gegevens uit een specifieke kolom te kopiëren en in een nieuw blad te plakken.

Ruwe data voor dit voorbeeld bestaat uit medewerkergegevens in de vorm van een Excel-werkmap met daarin drie bladen met de afdelings-, persoons- en contactgegevens van medewerkers.

Om gegevens van verschillende bladen naar een nieuw blad te kopiëren, hebben we een macro "Kopieerkolommen" gemaakt. Deze macro kan worden uitgevoerd door op de knop "Macro uitvoeren" op het blad "Hoofd" te klikken.

De macro "CopyColumns" voegt een nieuw blad in met de naam "Master" na het "Hoofd" -blad. Het 'Master'-blad bevat geconsolideerde gegevens van alle bladen.

Code uitleg

Worksheets.Add(after:=Worksheets("Hoofd"))

Bovenstaande code wordt gebruikt om nieuwe werkbladen in te voegen na het "Hoofd" werkblad.

Als Source.Name "Master" en Source.Name "Main" Dan

Stop als

Bovenstaande code wordt gebruikt om het kopiëren van gegevens van de "Master"- en "Main"-bladen te beperken.

Source.UsedRange.Copy Destination.Columns(Last)

Bovenstaande code wordt gebruikt om gegevens van het bronblad naar het bestemmingsblad te kopiëren.

Voor elke bron in dit werkboek.Werkbladen

Als Source.Name = "Master" Dan

MsgBox "Stamblad bestaat al"

Sluit sub

Stop als

Volgende

Bovenstaande code wordt gebruikt om te controleren of het "Master" -blad al in de werkmap bestaat. Macro stopt de uitvoering als het "Master" -blad al in de werkmap bestaat.

Volg hieronder voor de code:

 Optie Explicit Sub CopyColumns() Dim Source As Worksheet Dim Destination As Worksheet Dim Last As Long Application.ScreenUpdating = False 'Controleren of "Master"-blad al bestaat in de werkmap For Each Source In ThisWorkbook.Worksheets If Source.Name = "Master" Dan MsgBox "Hoofdblad bestaat al" Exit Sub End If Next 'Nieuwe werkbladen in de werkmap invoegen Set Destination = Worksheets.Add(after:=Worksheets("Main")) 'De naam van het werkblad wijzigen Destination.Name = "Master" 'Looping door de werkbladen in de werkmap Voor elke bron in ThisWorkbook.Worksheets If Source.Name "Master" en Source.Name "Main" Dan 'Finding the last column from the destination sheet Last = Destination.Range("A1").SpecialCells( xlCellTypeLastCell).Column If Last = 1 Then 'De gegevens in het bestemmingsblad plakken Source.UsedRange.Copy Destination.Columns(Last) Else Source.UsedRange.Copy Destination.Columns(Last + 1) End If End If Next Columns.AutoFit Application.ScreenUpdating = True End Sub 

Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.

We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave