Zusammenführen von Excel-Arbeitsblättern zu einem Arbeitsblatt

Okay, ich habe versucht, nach ähnlichen Fragen zu suchen, aber ich habe nicht viel von dem verstanden, was diskutiert wurde, da es das erste Mal ist, dass ich den VBA-Editor von Excel betrachte.

In einfachen Worten, ich habe 2 Tabellen: "Sheet1" und "Sheet2"

Blatt1:

    A         B
1 Header1   Header2
2 Text1     Info1
3 Text2     Info2

Blatt 2:

    A         B
1 Header1   Header2
2 Text3     Info3
3 Text4     Info4

Und ich hätte gerne ein Makro, um die beiden Blätter zu einem neuen Blatt (Sheet3) zusammenzuführen:

    A         B
1 Header1   Header2
2 Text1     Info1
3 Text2     Info2
4 Text3     Info3
5 Text4     Info4

Ich habe versucht, ein Makro aufzuzeichnen und für die spätere Verwendung zu speichern. Dazu habe ich ein neues Blatt erstellt, alles von Blatt1 nach Blatt3 kopiert / eingefügt und dann alle Informationen mit Ausnahme der Überschriften von Blatt2 nach Blatt3 kopiert.

Das Makro funktioniert für diese Daten, aber ich habe festgestellt, dass der von Excel generierte Code die Zelle A4 (hier) auswählt, bevor die Daten eingefügt werden. Während dies für diese Daten funktioniert, würde es nicht funktionieren, wenn sich die Anzahl der Datensätze in jedem Blatt von Zeit zu Zeit ändert. Grundsätzlich gilt,

1) Ich habe mich gefragt, ob es eine Funktion gibt, die automatisch zur letzten relevanten Zelle wechselt, bevor der nächste Datensatz eingefügt wird (in diesem Beispiel Zelle A4, und wenn ich eine weitere Tabelle habe, dann Zelle A6).

2) Ich habe die Funktion "ActiveCell.SpecialCells (xlLastCell) .Select" gesehen (aktiviert, wenn ich Strg + Ende benutze), aber das bringt mich zum Ende des Blattes. Nachdem ich diese Funktion verwendet habe, benötige ich eine ähnliche Funktion wie die Pfeiltasten "Home" und "Down", damit sie am besten funktioniert.

Eine dieser Optionen wäre gut für mich. ^ _ ^

Hier ist mein aktueller VBA-Code, der mit dem Macro Recorder in Excel 2010 aufgezeichnet wurde:

Sub Collate_Sheets()

    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Select
    Sheets(Sheets.Count).Name = "Sheet3"
    Sheets("Sheet1").Select
    Range("A1").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.Copy
    Sheets("Sheet3").Select
    ActiveSheet.Paste
    ActiveCell.SpecialCells(xlLastCell).Select
    ' I need to select one cell below, and the cell in column A at this point
    Sheets("Sheet2").Select
    Range("A2").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet3").Select
    ActiveSheet.Paste
End Sub

Ich hoffe, ich habe keine nützlichen Informationen vergessen. Lass es mich wissen, wenn ich es getan habe!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage