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