Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen

Forumthread: Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen

Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen
10.12.2019 15:03:12
Erdnusskrieger
Hallo, ich mal wieder...
Mein VBA-Programm nähert sich langsam dem Ende. Ich hoffe dass ich mit euch nun die letzten Meter auch hin bekomme.
Ich hab das Gefühl, dass ich die komplizierten Teile selbst gelöst bekomme, es aber an den leichten Befehlen an meiner Denkweise scheitert...
Es geht dieses mal um folgendes:
Im 1. Teil findet eine Fallunterscheidung statt, die ich mit den Select Case-Befehl gelöst bekommen habe. Dementsprechend lasse ich diesen Teil des Quellcodes weg, da dieser für euch vermutlich irrelevant ist (falls ihr den doch benötigt, werde ich ihn ebenfalls posten)
Im 2. Teil soll das Worksheet "Tabelle 3" nach mehreren Zeichenkombinationen (Kombinationen sind mir bekannt, es sind ca. 10 Kombinationen/Suchkriterien) durchsucht werden. Wird ein Zeichenkombination nicht gefunden, so sollen bestimmte Zeilen (sind mir ebenfalls bekannt) aus dem Worksheet "Tabelle2" gelöscht werden und die befüllten Zeilen die sich hierunter befinden nach oben verschoben werden.
Ich beschreibe es nun mal an einem konkreten Beispiel, um euch meine Problematik zu verdeutlichen. Falls dies gelöst wird, kann ich es ja selbstständig auf alle Kombinationen erweitern:
In Worksheet "Tabelle3" befinden sich im Bereich B1-V15 (dieser Bereich wird eigentlich nicht überschritten (da bin ich mir zu 99% sicher :))) verschiedene Zeichenkombinationen. Ich möchte nun konkret nach der Kombination/Suchkriterium 5A1 in diesem Bereich suchen. Sollte 5A1 nicht gefunden werden, soll aus dem Worksheet "Tabelle2" die Zeilen 55 bis 59 und Zeile 83 gelöscht werden. Da nun die Zeilen leer sind und "Tabelle2" von Zeile 8-300 immer befüllt ist, möchte ich diese Lücken auch entfernt haben um es einfach optisch schöner zu haben. Heißt die gefüllten Zeilen unter den Leeren sollen von unten nach oben "aufgefüllt" werden. Falls 5A1 gefunden wird, soll nichts passieren.
Sprich eine ganz einfache Abfrage...
Ich vermute dies wird mit If-then und/oder do while schleife zu lösen sein aber wie gesagt... bei mir scheitert es scheinbar an den einfachen Dingen... Selbstverständlich hab ich das Forum durchsucht sowie Dr. Google gefragt... leider bin ich nicht fündig geworden.
Ich hoffe ich konnte euch mein Problem gut beschreiben und hoffe ihr könnt mir helfen.
Grüße, Erdnuss.
Anzeige
AW: Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen
10.12.2019 15:43:42
Werner
Hallo,
If WorksheetFunction.CountIf(Worksheets("Tabelle3").Columns("B:V"), "5A1") = 0 Then
Worksheets("Tabelle2").Range("A55:A59,A83").EntireRow.Delete
End If
Gruß Werner
AW: Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen
11.12.2019 13:47:24
Erdnusskrieger
Hallo Werner,
dein Code klappt wunderbar, vielen Dank!
Eventuell noch eine Erweiterung hierzu.
Ist es möglich den Code auf zwei Bedingungen zu erweitern? Heißt, sollte bspw. 5A1 oder 5A2 nicht gefunden werden, dann lösche die genannten Zeilen. Falls 5A1 oder 5A2 gefunden wurde, dann lösche nichts.
ist dies möglich?
Anzeige
AW: Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen
11.12.2019 14:00:47
Jürgen
Hallo,
If WorksheetFunction.CountIfs(Worksheets("Tabelle3").Columns("B:V"), "5A1",Worksheets("Tabelle3" _
).Columns("B:V"), "5A2" ) = 0 Then
Worksheets("Tabelle2").Range("A55:A59,A83").EntireRow.Delete
End If
Gruß
Jürgen
AW: Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen
11.12.2019 14:18:03
Erdnusskrieger
Hallo Jürgen,
leider klappt dein Code nicht.
In Tabelle 3 befindet sich 5A1. Dennoch löscht er die erwähnten Zeilen.
Hast du eventuell einen anderen Ansatz?
Grüße,
Erdnuss
Anzeige
AW: Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen
11.12.2019 14:25:29
Jürgen
Hallo Erdnuss,
da war ich zu schnell.
Zählenwenns ist ja als UND gestaffelt und zählt nur wenn alle Kriterien zutreffen.
Deshalb den Code verwenden:
If WorksheetFunction.CountIf(Worksheets("Tabelle3").Columns("B:V"), "5A1")+ WorksheetFunction. _
CountIf(Worksheets("Tabelle3").Columns("B:V"), "5A2") = 0 Then
Worksheets("Tabelle2").Range("A55:A59,A83").EntireRow.Delete
End If
Jetzt sollte es gehen.
Gruß
Jürgen
Anzeige
AW: Tabelle1 nach Zeichenkette durchsuchen, wenn vorhanden, dann Zeilen aus Tabelle2 löschen
11.12.2019 17:51:10
Erdnusskrieger
Jetzt klappt es super!
Konnte es auch auf die anderen Kriterien umschreiben.. viele Dank!
Gerne u. Danke für die Rückmeldung. o.w.T.
11.12.2019 20:28:46
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige