ich habe eine Excel-Datei mit verschiedenen Arbeitsblättern, die alle den gleichen Aufbau (Überschrift 1. Zeile - unterschiedliche Länge der Tabellenblätter) haben. Nun möchte ich diese einzelnen Arbeitsblätter in einem Arbeitsblatt zusammenführen (ab Zeile 2 - Zeile 1 = Überschrift, muss erhalten bleiben). Die einzelnen Arbeitsblätter werden regelmäßig geändert.
Sobald man auf das "Gesamt" Arbeitsblatt wechselt sollten diese Änderungen übertragen / aktualisiert werden.
Ich habe schon gegoogled / im Forum gesucht und mehrere Ansätze bezüglich des Problemes gefunden. Bei vielen sollte die Formatierung der einzelnen Zellen erhalten bleiben, was bei mir aber nicht der Fall ist.
Folgenden Quellcode habe ich gefunden:
Sub Konsolidieren()
Dim Wks As Worksheet
Dim Bereich As Range
Dim strLC As String
Dim i As Integer
Set Wks = Worksheets.Add
Wks.Name = "Konsolidierung"
For i = 2 To Worksheets.Count
With Worksheets(i).UsedRange
strLC = .Cells(.Rows.Count, .Columns.Count).Address
Set Bereich = .Range("A2:" & strLC)
Bereich.Copy Destination:= _
Wks.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End With
Next i
End Sub
Wie kann ich den Code umändern, so dass das Worksheet nicht immer wieder erstellt wird, da dieser vorhanden ist, und der Quellcode dann ausgeführt wird, wenn ich auf das Arbeitsblatt wechsle.
Ich habe schon einiges getestet und es traten Fehler auf, wie z.B. - ist das "Gesamt" Arbeitsblatt leer, so wird auch die erste Zeile gelöscht bzw. beim wechseln in das Arbeitsblatt "Gesamt" lande ich in einer Schleife. Sollte aus diesem Grunde immer das "Gesamt" Arbeitsblatt gelöscht werden bevor es wieder neu zusammengeführt wird?
Über eure Hilfe würde ich mich sehr freuen. Vielen Dank im Voraus.
MfG
Martin