Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1680to1684
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

Filtern nach Werten und löschen

Filtern nach Werten und löschen
26.03.2019 11:51:44
VSVMAR
Hallo Leute,
ich bräuchte einmal eure Hilfe bei einem VBA Makro.
Folgendes Problem: Ich habe eine Tabelle mit Spalten von A - W. In Spalte D möchte ich nach allen Werten filtern, die nicht mir 3 , 8 oder AB beginnen. Alle Zeilen und Spalten die danach noch angezeigt werden, sollen gelöscht werden. Die Länge der Tabelle kann dabei variieren.
Wie kann ich das Umsetzen so das das Makro unabhängig von der Tabellenlänge alle Positionen erfasst und anschließend löscht? Idealerweise soll die Selektierung danach aufgehoben werden und wieder die ganze Tabelle zusehen sein.
Vielen Dank für eure Hilfe.
VSVMAR

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie wärs mit einer Beispiel-AM?
26.03.2019 12:31:19
Herbert
,,
AW: Filtern nach Werten und löschen
26.03.2019 12:55:34
Günther
Moin,
da bietet sich eine Hilfsspalte mit der LINKS()-Funktion oder die Nutzung von Power Query an.
Gruß
Günther
AW: Filtern nach Werten und löschen
26.03.2019 13:09:18
Daniel
Hi
da gibt's viele mögichkeiten das zu tun:
Variante 1)
Range("D:D").Copy
with Range("X:X")
.PasteSpecial xlpastevalues
.Replace "3*", True, xlwhole
.Replace "8*", true, xlwhole
.Replace "AB*", True, xlwhole
.Cells(1, 1).Value = True 'verhindert, dass die Zeile 1 mit den Überschriften gelöscht wird
.SpecialCells(xlcelltypeconstants, 3).EntireRow.delete
.ClearContents
end with
Variante 2:
with ActiveSheet.UsedRange
with .Columns(.columns.count + 1)
.FormulaR1C1 = "=IF(OR(Left(RC4,1)=""3"",Left(RC4,1)=""8"",Left(RC4,2)=""AB""),Row(),0)" _
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .column, xlno
.ClearContents
End with
end with

wobei die zweite Methode meine bevorzugte Standardmethode zum löschen von Zeilen ist, weil sie sehr schnell ist, und mehr oder weniger für alle Aufgaben des Typs Löschen von Zeilen mit Bedingung verwendet werden kann, es muss lediglich die Formel angepasst werden.
Außerdem kann man diesen Weg auch sehr gut manuell, dh ohne Makro ausführen.
(Formel eintragen zum Kennzeichnen der zu löschenden Zellen (0 = löschen, Zeilennummer = bleibt stehen) und dann mit Duplikate Entferenen die Zeilen mit 0 eleminieren)
Gruß Daniel
Anzeige
AW: Filtern nach Werten und löschen
26.03.2019 13:21:49
Herbert
Hallo Daniel,
bei diesen beiden Varianten, läuft mir, als "altem Excel-Hasen", das Wasser im Munde zusammen! Vielen Dank dafür, so habe auch ich wieder etwas dazu gelernt! Klasse!!!
Servus
AW: Filtern nach Werten und löschen
26.03.2019 16:31:04
VSVMAR
Hallo Daniel,
vielen Dank für deine Hilfe. Mit deiner ersten Variante konnte ich mein Problem schon super lösen!
Im nächsten Schritt möchte ich in einer anderen Spalte nach allen Werten filtern, welche kleiner als 10€ sind. Dafür würde sich ja wahrscheinlich die 2 Variante anbieten, aber ich weiß nicht wie ich dein Vorschlag entsprechend abändern muss.
Noch einmal zusammengefasst: In Spalte G nach allen Werten filtern kleiner 10€ und anschließen alle Zeilen löschen.
Vielen Dank und beste Grüße.
Anzeige
AW: Filtern nach Werten und löschen
26.03.2019 16:54:56
Daniel
Hi
machs von Hand, ohne Makro.
das zweite Makro funktioniert nach folgendem Prinzip:
1. schreibe in die erste freie Spalte am Tabellenende eine Formel, die alle Zeilen die gelöscht werden sollen mit 0 kennzeichnet und alle, die stehen bleiben müssen mit der aktuellen Zeilennummer (Zeile())
2. schreibe in die Überschriftenzeile der Hilfsspalte die 0
3. wende auf die ganze Tabelle die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERENEN an, mit der Hilfsspalte als Kriterium und er Option "keine Überschrift"
4. lösche die Hilfsspalte wieder.
das einzige, was du anpassen musst wenn sich die Bedingungen zum löschen der Zeilen ändern, ist die Formel.
Diese kannst du dir aber auch unabhängig vom Makro ausdenken und ausprobieren, und dann über den Recorder herausfinden, wie die Formel über VBA geschrieben werden muss.
dann brauchst du nur den neuen Formeltext in mein Makro übernehmen.
Gruß Daniel
Anzeige
AW: Filtern nach Werten und löschen
26.03.2019 17:19:15
VSVMAR
Hi Daniel,
vielen Dank. Ich werde es einmal ausprobieren.
LG

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige