In diesem Artikel erstellen wir ein Makro zum Kopieren von Daten aus einer geschlossenen Arbeitsmappe.

Wir haben „DataFile“ mit Mitarbeiterdaten, einschließlich Name, Alter und Domain.

ArrowRawData

Wir möchten Daten aus dieser Datei in die Hauptdatei kopieren.

ArrowMain

Bevor wir das Makro ausführen, müssen wir den Dateipfad und den Dateinamen angeben.

ArrowOutput

Logische Erklärung

Wir haben das Makro „OpenClosedWorkbook“ erstellt, um Daten aus der geschlossenen Arbeitsmappe zu kopieren. Es öffnet die Arbeitsmappe, kopiert Daten in die Hauptarbeitsmappe und schließt dann die vorherige Arbeitsmappe.

Code Erklärung

Setzen Sie WB = Workbooks.Open (FileName)

Der obige Code wird verwendet, um ein Objekt der geöffneten Arbeitsmappe zu erstellen.

WB.Worksheets („Sheet1“). Range („A1“). CurrentRegion.Copy Mit dem obigen Code werden alle Daten aus der definierten Arbeitsmappe kopiert.

ThisWorkbook.Worksheets („Main“). Range („A15“). PasteSpecial (xlPasteValues)

Der obige Code wird verwendet, um die kopierten Daten in das Hauptarbeitsblatt einzufügen.

Bitte folgen Sie unten für den Code

Option Explicit

Sub OpenClosedWorkbook()

'Declaring variables

Dim FileName As String

Dim WB As Workbook

'Disabling screen updates

Application.ScreenUpdating = False

'Getting file path and file name from the textbox

FileName = Sheet1.TextBox1.Value

'Open the Excel workbook

Set WB = Workbooks.Open(FileName)

'Copy data from sheet1 from opened workbook

WB.Worksheets("Sheet1").Range("A1").CurrentRegion.Copy

'Paste data in the macro file starting from cell A15

ThisWorkbook.Worksheets("Main").Range("A15").PasteSpecial (xlPasteValues)

'Close the workbook without saving

WB.Close (False)

Set WB = Nothing

'Auto adjusting the size of selected columns

Selection.Columns.AutoFit

'Saving the macro file

ThisWorkbook.Save

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]