Danke für Rückmeldung - und neue Version
05.01.2007 14:10:23
Erich
Hallo Daniel,
der Code war nur ein "Schön-Wetter"-Code - er läuft richtig, wenn in Spalte L oder M eine 1 steht, sonst produziert er Unsinn.
Deshalb hier eine verbesserte Version:
Option Explicit
Sub Bestimmte_Saetze_kopieren()
' Quellspalten A bis M müssen in Zeile 1 Überschriften haben (ohne Lücken)
' Kopiert werden die Quellspalten A-H (1-8) der Zeilen,
' in denen in Spalte L oder M (12 oder 13) die Zahl 1 steht.
' Quellspalte N (14) wird gelöscht.
Dim lngZ As Long
With Sheets("Quelle")
lngZ = .Cells(Rows.Count, 12).End(xlUp).Row
If lngZ < .Cells(Rows.Count, 13).End(xlUp).Row Then _
lngZ = .Cells(Rows.Count, 13).End(xlUp).Row
If lngZ <= 1 Then Exit Sub
If WorksheetFunction.SumIf(Range(.Cells(2, 12), .Cells(lngZ, 13)), 1) = 0 Then Exit Sub
.Columns(14).Clear
.Cells(1, 14) = "xxx"
Range(.Cells(2, 14), .Cells(lngZ, 14)).FormulaR1C1 = "=1*(((RC[-2]=1)+(RC[-1]=1))>0)"
.Columns(14).AutoFilter
.Columns(14).AutoFilter Field:=1, Criteria1:=1
Range(.Cells(2, 1), .Cells(lngZ, 8)).Copy
End With
With Sheets("Ziel")
lngZ = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngZ, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End With
Sheets("Quelle").Columns(14).Clear
Sheets("Quelle").Columns(14).Clear
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort