in ein Blatt Manchmal wird es zur Routinearbeit, Daten aus mehreren Blättern für dieselbe Spalte zu kopieren. Dieser Schritt kann durch Automatisierung vermieden werden. Wenn Sie ein konsolidiertes Blatt erstellen möchten, nachdem Sie Daten aus einer Spalte jedes einzelnen Blattes in ein Blatt kopiert haben, sollten Sie diesen Artikel lesen.

In diesem Artikel erstellen wir ein Makro, um Daten aus einer bestimmten Spalte zu kopieren und in ein neues Blatt einzufügen.

Die Rohdaten für dieses Beispiel bestehen aus Mitarbeiterdaten in Form einer Excel-Arbeitsmappe mit drei Blättern mit den Abteilungs-, persönlichen und Kontaktdaten der Mitarbeiter.

ArrowRaw

Um Daten von verschiedenen Blättern in ein neues Blatt zu kopieren, haben wir ein Makro „CopyColumns“ erstellt. Dieses Makro kann ausgeführt werden, indem Sie auf dem Hauptblatt auf die Schaltfläche „Makro ausführen“ klicken.

ArrowMain

Das Makro „CopyColumns“ fügt ein neues Blatt mit dem Namen „Master“ nach dem Blatt „Main“ ein. Das Master-Blatt enthält konsolidierte Daten aus allen Blättern.

ArrowOutput

Code Erklärung

Worksheets.Add (after: = Arbeitsblätter („Main“))

Der obige Code wird verwendet, um neue Arbeitsblätter nach dem Hauptarbeitsblatt einzufügen.

Wenn Source.Name <> „Master“ und Source.Name <> „Main“, dann wird End If Above-Code verwendet, um das Kopieren von Daten aus den Blättern „Master“ und „Main“ einzuschränken.

Source.UsedRange.Copy Destination.Columns (Last)

Der obige Code wird verwendet, um Daten vom Quellblatt auf das Zielblatt zu kopieren.

Für jede Quelle in ThisWorkbook.Worksheets Wenn Source.Name = „Master“, dann ist MsgBox „Master Sheet bereits vorhanden“

Unterende beenden Wenn der Code „Weiter oben“ verwendet wird, um zu überprüfen, ob das Blatt „Master“ bereits in der Arbeitsmappe vorhanden ist. Das Makro stoppt die Ausführung, wenn das Blatt „Master“ bereits in der Arbeitsmappe vorhanden ist.

Bitte folgen Sie unten für den Code

Option Explicit

Sub CopyColumns()

Dim Source As Worksheet

Dim Destination As Worksheet

Dim Last As Long

Application.ScreenUpdating = False

'Checking whether "Master" sheet already exists in the workbook

For Each Source In ThisWorkbook.Worksheets

If Source.Name = "Master" Then

MsgBox "Master sheet already exist"

Exit Sub

End If

Next

'Inserting new worksheets in the workbook

Set Destination = Worksheets.Add(after:=Worksheets("Main"))

'Renaming the worksheet

Destination.Name = "Master"

'Looping through the worksheets in the workbook

For Each Source In ThisWorkbook.Worksheets





If Source.Name <> "Master" And Source.Name <> "Main" Then



'Finding the last column from the destination sheet

Last = Destination.Range("A1").SpecialCells(xlCellTypeLastCell).Column



If Last = 1 Then

'Pasting the data in the destination sheet

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

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]