von einer Datenquelle (Daten) sollen immer nur die neusten Daten zur weiteren Verarbeitung erfasst werden (diese sind mal 10.000 mal 100.000 Zellen).
Alle Daten werden dafür zunächst mit einer Formel in ein Woksheet:Tabelle2 übertragen und sortiert (nicht relevante Daten werden als "" ausgegeben - Beispiel: =WENN(Daten!D9>Tabelle1!$B$2;Daten!F9;"").
Sub Final()
Application.DisplayAlerts = False
Dim wksTab As Worksheet
Sheets("Tabelle2").Select
ThisWorkbook.Worksheets(Array("Tabelle2")).Copy
With ActiveWorkbook
For Each wksTab In .Worksheets
wksTab.Cells.Copy
wksTab.Cells(1, 1).PasteSpecial Paste:=xlValues
Next wksTab
Application.CutCopyMode = False
End With
ActiveWorkbook.SaveAs Filename:= _
"S:\Pfad\Datei.xlsb" _
, FileFormat:=xlExcel12, CreateBackup:=False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Ziel soll es sein, dass nur die Zellen" mit einem tatsächlichen Inhalt in das neue File kopiert werden (damit das File mit den relevanten Daten so klein wie möglich bleibt). Das Makro funktioniert letztlich aber nicht zu 100%, da die "leeren Daten" zwar ohne Wert/Formel kopiert werden (also leer erscheinen), Excel diese aber dennoch irgendwie als Wert oder Zelle mit Inhalt interpretiert (obwohl leer). Habt Ihr eine Idee wo der Fehler liegt. Wenn man mit den kopierten Daten eine Pivot-erzeugt, werden alle leeren Zellen aus dem Ursprungsfile mit einem Bezugs-Fehler ausgegeben.