Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
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

Werte suchen und Zeilen löschen

Werte suchen und Zeilen löschen
15.04.2021 15:35:28
Detlef
Hallo,
ich habe in diesem Beitrag ein Script gefunden, dass fast das macht, was ich benötige.
https://www.herber.de/forum/archiv/1184to1188/1185100_Zelle_suchen_Zeile_loeschen.html
Set RaFound = .Cells.Find("123456", , , xlWhole, , xlNext)
Jedoch muss an der Stelle wo 123456 steht, mehrere Werte aus Zellen eingelesen werden.
Beispiel:
In Tabelle A habe ich 10000 Zeilen mit verschiedene Werten in der A-Spalte
In Tabelle B habe ich 100 Zeilen mit Werten, die, wenn in Tabelle A vorhanden, dort incl. Zeile gelöscht werden sollen
Kann man das Script um diese Funktionalität erweitern?
Viele Grüße, Detlef

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte suchen und Zeilen löschen
15.04.2021 16:09:20
Rudi
Hallo,
wozu VBA?
Hilfsspalte in TabA: =Zählenwenn(TabelleB!B:B;A2), nach 0 filtern und die Zeilen löschen. Dauert 10 Sekunden.
Gruß
Rudi
AW: Werte suchen und Zeilen löschen
15.04.2021 16:22:26
Nepumuk
Hallo Detlef,
da du nicht angibst wo sich die Suchbegriffe genau befinden (welche Spalte ab Zeile) bin ich mal von Spalte A ab Zeile 1 ausgegangen.
Option Explicit
Public Sub DeleteRows()
Dim avntValues As Variant, vntItem As Variant
Dim objCell As Range
With Worksheets("Tabelle B")
avntValues = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)).Value2
End With
With Worksheets("Tabelle A").Columns(1)
For Each vntItem In avntValues
Set objCell = .Find(What:=vntItem, _
LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
If Not objCell Is Nothing Then
Do
objCell.EntireRow.Delete
Set objCell = .FindNext
Loop Until objCell Is Nothing
End If
Next
End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Werte suchen und Zeilen löschen
15.04.2021 16:35:17
Daniel
Hi
das geht am besten auf einem ganz anderen Weg:

With Sheets("TabelleA").Usedrange
with .Columns(.Columns.Count + 1)
.FormulaR1C1 "=IF(CountIF('TabelleB'!C1,RC1),0,Row())"
.Cells(1, 1).value = 0
.EntireRow.RemoveDuplicates .column, xlno
.ClearContents
End with

der Weg ist folgender:
1. man kennzeichnet in einer Hilfsspalte per Formel alle Zeilen, die gelöschte werden sollen mit 0 und die die stehenbleiben müssen mit der Zeilennummer
2. in die überschriftenzeile der Hilfsspalte muss ebenfalls die 0
3. dann kann man alle Zeilen mit 0 unterhalb der Überschrift über die Menüfunktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN löschen, welches sehr schnell auch mit größten Datenmengen funktioniert.
4. hilfsspalte wieder löschen.
Gruß Daniel
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige