Mehere Elemente automatisch auswählen
Hallo Experten,
ich bräuchte mal wieder einen Tipp von euch.
Meine Situation ist folgende:
Ich habe einige sehr lange Spalten mit Daten. Einige Zeilen (bspw. 90.000 von 150.000) sollen aussortiert werden.
Eine Abfrage die detektiert, welche Zeilen (-nummern) gelöscht werden sollen, habe ich bereits. Anschließend wird die jeweilige Zeile einzeln gelöscht.
Nun mein Problem:
Es dauert ewig jede einzelne Zeile zu löschen.
Meine Idee:
Zu löschende Zeilen auf einmal selektieren und löschen.
Ist das ein gangbarer Weg die Zeit zu verkürzen? Wenn ja, wie kann ich eine weitere Zeile selektieren, ohne die vorher selektierte Zeile zu DE-selektieren?
Danke und viele Grüße
Jaydotkay
ich bräuchte mal wieder einen Tipp von euch.
Meine Situation ist folgende:
Ich habe einige sehr lange Spalten mit Daten. Einige Zeilen (bspw. 90.000 von 150.000) sollen aussortiert werden.
Eine Abfrage die detektiert, welche Zeilen (-nummern) gelöscht werden sollen, habe ich bereits. Anschließend wird die jeweilige Zeile einzeln gelöscht.
Nun mein Problem:
Es dauert ewig jede einzelne Zeile zu löschen.
Meine Idee:
Zu löschende Zeilen auf einmal selektieren und löschen.
Ist das ein gangbarer Weg die Zeit zu verkürzen? Wenn ja, wie kann ich eine weitere Zeile selektieren, ohne die vorher selektierte Zeile zu DE-selektieren?
Danke und viele Grüße
Jaydotkay
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 238905
Url: https://administrator.de/forum/mehere-elemente-automatisch-auswaehlen-238905.html
Ausgedruckt am: 23.04.2025 um 12:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo Jaydotkay,
ich würde die Zeilen in einem Range-Objekt mit Union() zusammenfassen und dann ganz zum Schluss nach dem Durchlauf der Schleife dieses Range-Objekt löschen lassen.
Es ist aber auf jeden Fall immer besser nicht mit der Selection sondern mit Ranges zu arbeiten, da so keine echte sichtbare Selektion stattfindet und dadurch den Vorgang zusätzlich beschleunigt.
Ich habe so was ähnliches mal für das Löschen von leeren Zeilen geschrieben:
Grüße Uwe
ich würde die Zeilen in einem Range-Objekt mit Union() zusammenfassen und dann ganz zum Schluss nach dem Durchlauf der Schleife dieses Range-Objekt löschen lassen.
Es ist aber auf jeden Fall immer besser nicht mit der Selection sondern mit Ranges zu arbeiten, da so keine echte sichtbare Selektion stattfindet und dadurch den Vorgang zusätzlich beschleunigt.
Ich habe so was ähnliches mal für das Löschen von leeren Zeilen geschrieben:
Sub delEmptyRows()
Dim rngCells As Range, cell As Range, rngCombined As Range, sheet As Worksheet
Set sheet = Worksheets(1)
Set rngCells = sheet.Range("A1", sheet.Range("A65535").End(xlUp))
For Each cell In rngCells
If cell.Value = "" Then
If rngCombined Is Nothing Then
Set rngCombined = cell.EntireRow
End If
Set rngCombined = Union(rngCombined, cell.EntireRow)
End If
Next
If Not rngCombined Is Nothing Then
rngCombined.Delete
End If
End Sub