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ß
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen