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

Nach Vergleich mit 3 Zellen löschen

Nach Vergleich mit 3 Zellen löschen
23.11.2020 09:43:56
Kerem
Hallo zusammen,
in einem Vergleich in dem die Zelle einer Tabelle mit der einer anderen verglichen wird und anschließend bei nicht Übereinstimmung die Zeile aus einer der Tabellen gelöscht wird habe ich ein Problem.
Denn die Zellen aus Tabelle1 die verglichen und gelöscht werden sollen, sollen mit 3 Zellen aus Tabelle zwei verglichen werden. Problem ist: Wenn es keine Übereinstimmung mit der ersten Zelle aus Tabelle2 gibt wird die Zeile schon gelöscht und kann nicht mehr mit den anderen beiden Zellen verglichen werden.
D.h. das die Zeile in Tabelle1 erst nach nicht übereinstimmung mit allen drei Zellen in Tabelle2 gelöscht werden soll
Dazu noch zwei weitere Sachen: Bei der Überprüfung sollen nur die ersten 11 Zeichen beachtet werden.
Wenn eine Zeile nach nicht übereinstimmung von den Zellen aus Tabelle 2 gelöscht wird soll die selbe Zeile noch einmal überprüft werden da der Rest der Tabelle sich hoch verschiebt.
If Not Einspalte = "" Then
For IntZeile = 2 To ZeilenAnzahlNSD
WertGefunden = False
strwert1 = ws.Cells(IntZeile, CInt(Einspalte)).Value
For IntZeileWS2 = 1 To ZeilenAnzahlKostenstellen
strwert2 = ws2.Cells(IntZeileWS2, 1).Value
If strwert1 = strwert2 Then
WertGefunden = True
Exit For
End If
Next IntZeileWS2
If WertGefunden = False Then 'Wenn es kein Übereinstimmung gibt dann...
res = ws.Cells.Rows(IntZeile).Delete '... ganze Zeile löschen.
End If
Next IntZeile
End If

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach Vergleich mit 3 Zellen löschen
23.11.2020 09:56:55
ralf_b
ich sehe nur die Prüfung einer Zelle.
Wo sind denn die andern beiden Zellen? Die Prüfung kannst du mit einer "Und" bedingung verbinden.
if prüfung erste zelle AND Prüfung zweite Zelle ........ then
Das Löschen kann in der Schleife geschehen und dabei auch das zurücksetzen des Schleifenzählers.
IntZeileWS2 = IntZeileWS2 - 1
AW: Nach Vergleich mit 3 Zellen löschen
23.11.2020 10:18:46
Kerem
Hallo Ralf, danke erstmal das hat mir schon weiter geholfen. Ich bin mir nur ehrlich gesagt nicht sicher an welcher Stelle das IntZeileWs2 = IntZeileWs2 - 1 hinkommt?
Grüße
AW: Nach Vergleich mit 3 Zellen löschen
23.11.2020 10:32:35
worti
Hi Kerem,
wenn ichg alles richtig verstanden habe, versuch's mal hiermit:

Set ws1 = ThisWorkbook.Worksheets("Tabelle1")
Set ws2 = ThisWorkbook.Worksheets("Tabelle2")
For lngZeile = ZeilenAnzahlNSD To 2 Step -1
If Not ws1.Cells(lngZeile, CLng(Einspalte)).Value = "" Then
bolTreffer = False
For lngZeileWS2 = 1 To ZeilenAnzahlKostenstellen
' Suche in SpalteA, D, G
Set rngSuchbereich = Union(ws2.Cells(lngZeileWS2, 1), ws2.Cells(lngZeileWS2, 4),  _
ws2.Cells(lngZeileWS2, 7))
Set rngC = rngSuchbereich.Find(what:=Mid(ws1.Cells(lngZeile, CLng(Einspalte)). _
Value, 1, 11))
If Not rngC Is Nothing Then
bolTreffer = True
Exit For
End If
Next lngZeileWS2
If Not bolTreffer Then
ws1.Rows(lngZeile).Delete
End If
End If
Next lngZeile
Set ws1 = Nothing
Set ws2 = Nothing
Set rngSuchbereich = Nothing
Beim löschen von Zeilen in einer Schleife immer rückwärts löschen, dann gibt es kein Problem mit dem Zeilenzähler.
Anzeige
AW: Nach Vergleich mit 3 Zellen löschen
23.11.2020 11:58:03
Kerem
Hey worti, das hilft mir schon mal weiter, danke dir! Jedoch ist die Tabelle in der die Zeichen auf 11 begrenzt werden muss die 1. in der die Zeilen gelöscht werden sollen was mit deinem Code (glaube ich zumindest durch das was ich gesehen habe) nicht funktioniert.
AW: Nach Vergleich mit 3 Zellen löschen
23.11.2020 12:03:50
worti
Hi Kerem,
aber genau das macht der Befehl

Find(what:=Mid(ws1.Cells(lngZeile, CLng(Einspalte))

AW: Nach Vergleich mit 3 Zellen löschen
23.11.2020 12:20:53
Kerem
Ja, das habe ich auch so gedacht aber es wird entweder kein oder nur der Teil in Tabelle 2 begrenzt. Die Zellen in Tabelle 2 sind sowieso nur 11 Zeichen lang.
AW: Nach Vergleich mit 3 Zellen löschen
23.11.2020 13:51:47
worti
Dann versteh ich leider dein Problem nicht, sorry.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige