Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Beschleunigen Löschen

Beschleunigen Löschen
30.03.2021 15:02:16
Basti
Hallo Zusammen,
ich habe hier eine Funktion, die sehr lange bei der Ausführung dauert.
Kann man sie auch beschleunigen?
Tabelle1.Select
Tabelle1.Range(Tabelle1.Cells(i, 2), Tabelle1.Cells(i, 11)).Delete (2)
i = i - 1
End If
Viele Grüße
Basti

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
da fehlt die Hälfte vom Code owT
30.03.2021 15:06:22
ralf_b

AW: da fehlt die Hälfte vom Code owT
30.03.2021 15:43:01
Basti
Hallo Ralf,
sorry - unten die andere Hälfte.
Für Vorschläge bin ich dankbar.
Viele Grüße
' Löschen in Tabelle1
ActiveSheet.Unprotect (password)
For j = 2 To 9999
If Len(Sheets("Tabelle2").Cells(j, 2)) < 2 Then emptyrow = j: Exit For
Next
For i = 2 To length
'Filtern+Löschen die ausgewählt wurden
If Application.WorksheetFunction.IfError(Application.VLookup(Tabelle1.Cells(i, 2), Sheets("Tabelle3").Range("A2:C997"), 3, 0), "AB") = Edit.Range("E10") Then
'Zellen Löschen
Tabelle1.Select
Tabelle1.Range(Tabelle1.Cells(i, 2), Tabelle1.Cells(i, 11)).Delete (2)
i = i - 1
End If
Next

Anzeige
AW: da fehlt die Hälfte vom Code owT
30.03.2021 16:06:15
Daniel
Hi
1. denke dir eine Formel aus, die alle Zeilen die gelöscht werden sollen mit 0 markiert und die die stehen bleiben sollen mit der aktuellen Zeilennummer.
2. schreibe diese Formel in die erste freie Spalte am Tabellenende
3. schreibe in die Überschriftenzeile dieser Hilfsspalte ebenfalls die 0
4. wende auf die ganze Tabelle die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN an, mit der Hilfsspalte als Kriteriumsspalte und der Option "keine Überschrift
5. Hilfsspalte wieder löschen.
das ist zum löschen von Zeilen mit bedingung das einfachste und zugleich schnellste, was du so finden kannst.
kann man bei Bedarf auch als Makro so ausführen lassen.
Codes dazu sollte es eigentlich genügend im Archiv geben, mit den Suchbegriffen "Excel" "Zeilen löschen" "Bedingung" "Duplikate entfernen" solltest du sie finden.
die meisten kannst du dann 1:1 übernehmen und musst lediglich die Formel zur kennzeichnung an deine Bediungung anpassen.
Gruß Daniel

Anzeige
AW: da fehlt die Hälfte vom Code owT
30.03.2021 16:21:40
ralf_b
ich weis ja nicht wozu "j" gut ist und woher "Length" kommt, aber ich habe mal eine Lösung versucht. Ungetestet. Alternativ hat Daniel ja was geschrieben.
  ' Löschen in Tabelle1
ActiveSheet.Unprotect (Password)
For j = 2 To 9999
If Len(Sheets("Tabelle2").Cells(j, 2)) 
gruß
rb

AW: da fehlt die Hälfte vom Code owT
01.04.2021 12:47:12
Basti
Hallo Ralf,
funktioniert super! sry für die späte Rückmeldung.
Funktioniert wie gewünscht : )
Vielen Dank und frohe Ostern
Basti

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige