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

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.
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?
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
Anzeige
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
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

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige