
Ich habe ein Makro, das Arbeitsblätter kopiert und dann als neu speichert.
Ich möchte jedoch zwei Arbeitsblätter kopieren und dann zu einem zusammenführen, die Arbeitsblätter befinden sich jedoch in zwei unterschiedlichen Arbeitsmappen.
Beispiel: Arbeitsmappe1 enthält 2 Arbeitsblätter (Arbeitsblatt1, Arbeitsblatt2) Arbeitsmappe2 enthält 3 Arbeitsblätter (Arbeitsblatt1, Arbeitsblatt2, Arbeitsblatt3)
Ich möchte Arbeitsblatt1 aus Arbeitsmappe1 und Arbeitsblatt1 aus Arbeitsmappe2 kopieren und sie dann kombinieren, da beide dasselbe Tabellenformat haben.
Ich weiß nicht wie. Ich weiß nur, wie man mehrere Arbeitsblätter aus derselben Arbeitsmappe kopiert. Ich weiß auch, wie man sie kombiniert. Mein einziges Problem ist, wie ich beide Arbeitsblätter 1 aus unterschiedlichen Arbeitsmappen kopieren kann, nämlich Arbeitsmappe 1 und Arbeitsmappe 2.
Ich habe nur einfachen Code zum Kopieren der Daten. Hier ist übrigens mein Code:
saveFolder = "C:\Document\Macro"
path = "C:\Document\Workbook1"
fname = "Sample Account.xlsx"
Workbooks.Open path & fname
Sheets("Account1").Copy
ActiveWorkbook.SaveAs saveFolder & "\Conso.xlsx", FileFormat:=51
Workbooks(fname).Close
Die andere Datei befindet sich im OrdnerArbeitsmappe2Der Dateiname lautetZusätzliche Konten
Antwort1
Mit diesem VBA-Code (Makro) können Sie das Arbeitsblatt Ihrer Wahl aus der Quellarbeitsmappe kopieren und in der aktiven Arbeitsmappe integrieren.
Dieser Code ist interaktiv und kein Standardcode, was den Code vielseitig einsetzbar macht.
Sub CombineSheets()
Dim sPath As String
Dim sFname As String
Dim wBk As Workbook
Dim wSht As Variant
Application.EnableEvents = False
Application.ScreenUpdating = False
sPath = InputBox("Enter File Path Of Source Workbook(s)")
ChDir sPath
sFname = InputBox("Enter the Filename")
sFname = Dir(sPath & "\" & sFname & ".xl*", vbNormal)
wSht = InputBox("Enter Worksheet Name To Copy")
Do Until sFname = ""
Set wBk = Workbooks.Open(sFname)
Windows(sFname).Activate
Sheets(wSht).Copy Before:=ThisWorkbook.Sheets(1)
wBk.Close False
sFname = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Wie es funktioniert:
- Kopieren Sie diesen Code und fügen Sie ihn als Standardmodul in die Master-Arbeitsmappe ein (in der Sie Blätter kombinieren möchten).
- Führen Sie das Makro aus.
- Zuerst wird nach einem Pfad zu den Quellarbeitsmappen gefragt.
Notiz,Kopieren und fügen Sie den Dateipfad besser ein.
Fragen Sie dann nach dem Namen der Arbeitsmappe. Sie können auch Platzhalter oder einen Arbeitsmappennamen wie verwenden
Myworkbook
.Abschließend werden Sie aufgefordert, den Blattnamen zu kopieren.