Da ich immer noch eine Lösung benötige, schreibe ich mein Anliegen hier erneut ein:
Hallöchen Ihr Profis,
folgender VBA-Code funktioniert nach erweiterung leicht fehlerhaft:
Private Sub Worksheet_Activate()
'Zielblatt muss immer die höchste Nr. haben!
Dim i As Long
Dim j As Long
On Error GoTo Fehler
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row).ClearContents
ActiveSheet.Columns("C").ClearContents
ActiveSheet.Columns("D").ClearContents
ActiveSheet.Columns("E").ClearContents
ActiveSheet.Columns("F").ClearContents
ActiveSheet.Columns("G").ClearContents
ActiveSheet.Columns("H").ClearContents
ActiveSheet.Columns("AA").ClearContents
ActiveSheet.Columns("AB").ClearContents
With ActiveSheet
For i = 1 To ActiveWorkbook.Sheets.Count - 1 Step 1
Sheets(i).Range("C206:C386").Copy
.Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("N206:N386").Copy
.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("L206:L386").Copy
.Cells(Rows.Count, "D").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("I206:I386").Copy
.Cells(Rows.Count, "E").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("J206:J386").Copy
.Cells(Rows.Count, "F").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("G4:G184").Copy
.Cells(Rows.Count, "G").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("D206:D386").Copy
.Cells(Rows.Count, "H").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("V209:V380").Copy
.Cells(Rows.Count, "AA").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("AC209:AC380").Copy
.Cells(Rows.Count, "AB").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Next i
End With
Fehler:
Application.CutCopyMode = False
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ActiveSheet.Range("A1").Select
End Sub
In die Spalten AA und AB werden die Daten aus den angegebenen Bereichen "V209:V389" und "AC209: _
AC389" kopiert.
In den Zellen "V209:V389" sind Daten eines Filters eingetragen. Einige Zellen haben dabei _
keinen Eintrag. (auch nicht 0), was dazu führt, dass er mir alle Daten direkt untereinander schreibt.
In den Zellen "AC209:AC389" ist jeweils eine Formel hinterlegt:
=WENN(V236="";"";X236-Y236-Z236-AA236-AB236)
Der VBA-Filter übernimmt diese Formel als leere Zelle mit in den bereich AB:AB, wodurch leere _
Zellen entstehen und die Daten nicht zuzuordnen sind.
Ich wüsste gerne, wie ich dem Filter sage, dass er zeilen mit einer Formel derren Ergebniss "" _
ist ignoriert und nicht mit übernimmt.
Hat jemand eine Idee für mich?
Vielen dank für eure Mühen und ein frohes Pfingstfest,
LG
Sascha
LG
Sascha