über den untenstehenden Code erreiche ich, dass aus den Tabellen 1 und 2 die beschriebenen Zeilen in Tabelle 3 kopiert werden. Meine Arbeitsmappe enthält oftmals eine unterschiedliche Anzahl an Tabellen.- Wie müßte ich den Code umstellen, wenn aus allen in der Mappe befindlichen Tabellenblättern die Zeilen -ab Zeile 2- (Zeile 1 ist jeweils Überschrift) in ein verdecktes Tabellenblatt "Temp" kopiert werden sollen und in der Folge dann alphabetisch -Spalte A- sortiert werden sollen? - Ausgespart werden müßten dabei die Tabellenblätter "Daten" und "Hinweise". Kann mir da jemand helfen? - Danke schon jetzt für die Rückmeldungen.
Herzliche Grüße
Wolfgang
Sub ZusammenFuehren()
Dim shTarget As Worksheet
Dim rngSourceA As Range, rngSourceB As Range
Dim intRow As Integer, intCounter As Integer, intCol
Application.ScreenUpdating = False
Set rngSourceA = Worksheets("Tabelle1").Range("A1").CurrentRegion
Set rngSourceB = Worksheets("Tabelle2").Range("A1").CurrentRegion
Set shTarget = Worksheets("Tabelle3")
intCol = rngSourceA.Columns.Count
If rngSourceB.Columns.Count > intCol Then
intCol = rngSourceB.Columns.Count
End If
For intCounter = 1 To intCol
shTarget.Cells(1, intCounter) = "Spalte" & intCounter
Next intCounter
shTarget.Rows(1).Font.Bold = True
rngSourceA.Range("A1").CurrentRegion.Copy shTarget.Range("A2")
intRow = shTarget.Cells(Rows.Count, 1).End(xlUp).Row + 1
rngSourceB.Range("A1").CurrentRegion.Copy shTarget.Cells(intRow, 1)
shTarget.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=shTarget.Cells(1, shTarget.UsedRange.Columns.Count + 1), _
Unique:=True
shTarget.Range(shTarget.Cells(1, 1), shTarget.Cells(1, intCol)). _
EntireColumn.Delete
shTarget.Columns.AutoFit
End Sub