Hallo,
deine Angaben sind unklar/unvollständig.
Was meinst du mit: Excel-Listen ?
Verschiedene Tabellenblätter? in der selben Arbeitsmappe?
Und damit: im finalen arbeitsblatt, in dem alle listen vereint werden sollen, möchte ich gerne aus vier spalten eine machen, da jeweils nur eine der vier einen validen wert enthält.
ist gar nichts anzufangen, keine Ahnung was du da willst.
Hier mal ein Makro. Das Makro läuft über alle Tabellenblätter einer Datei, kopiert die Daten aus den Spalten D, F:H, J), jeweils von Zeile 1 bis zur letzten belegten Zeile, untereinander ins "Sammelblatt" beginnend in A1 untereinander. Es werden nur die Werte kopiert, keine Formatierungen.
Tabellenblätter von denen keine Daten kopiert werden sollen mußt du im Makro entsprechend angeben.
Option Explicit
Public Sub kopieren()
Dim ws As Worksheet, loLetzte As Long, loLetzteZiel As Long
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
'hier alle Blätter aufführen von denen
'keine Spalten kopiert werden sollen
Case "Sammelblatt", "Tabelle5"
Case Else
With ws
loLetzte = .Cells(.Rows.Count, "D").End(xlUp).Row
Union(.Range("D1:D" & loLetzte), .Range("F1:H" & loLetzte), .Range("J1:J" & loLetzte)).Copy
'Blattname anpassen
With Worksheets("Sammelblatt")
loLetzteZiel = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row
If .Cells(1, "A") = "" Then loLetzteZiel = 1
.Range("A" & loLetzteZiel).PasteSpecial Paste:=xlPasteValues
End With
End With
End Select
Next ws
Application.CutCopyMode = False
End Sub
Gruß Werner
|