ich würde gerne eine Liste mit Spalten per Makro insofern kürzen, dass alle Datensätze enfernt werden, die zwar in Spalte 1 einen Wert enthalten, aber in Spalte 5 keinen Wert aufweisen.
Gruß
Bernd
Sub lösch()
Dim lngletzte As Long, letzteSpalte As Long
letzteSpalte = 5
lngletzte = Range("A65536").End(xlUp).Row
Columns(1).Insert
With Range("A1:A" & lngletzte)
.FormulaR1C1 = "=IF(AND(RC[1]"""",RC[5]""""),ROW(),TRUE)"
.Formula = .Value
End With
Range(Cells(1, 1), Cells(lngletzte, letzteSpalte + 1)).Sort Key1:=Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
With Range("A1:A" & lngletzte)
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
End With
Columns(1).Delete
End Sub
Hierbei ist lngSpalte = 5 die letzte Spalte die mitsortiert wird. Die Sortierung erfolgt wegen der höheren Schnelligkeit des Makros, wenn die Specialcells im Block stehen. wenn der Bereich größer ist einfach statt 5 die entsprechende Spaltenzahl der Tabelle eintragen.
Das Makro kommt in das entsprechende Tabellenmodul.
Gruß