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

String-Suche

String-Suche
18.12.2018 16:36:51
Very
Hallo zusammen,
wie mein Username es schon verrät bin ich ein ziemlicher Anfänger was VBA angeht, ich hoffe _ also dass Ihr mir helfen könnt. In der Arbeit benutzen wir ein Makro um ausgeleitete Daten weiter zu verwerten. Dabei wird in einer bestimmten Spalte (unter anderem) nach dem String XYZ gesucht, wenn dieser NICHT vorhanden ist, wird die entsprechende Zeile gelöscht.

Sub nachbereitungOTHER(blattname, letztezeile)
Dim Reihe As Range
For i = 7 To letztezeile
ALMPfad = Sheets(blattname).Cells(i, 15).Value
If ALMPfad = leer Then Exit For
If InStr(ALMPfad, "TestCenter_DE") = 0 Or InStr(ALMPfad, "XYZ") = 0
Or Sheets(blattname).Cells(6, 35).Value = 1 Then
If Reihe Is Nothing Then
Set Reihe = Sheets(blattname).Rows(i)
Else: Set Reihe = Union(Reihe, Sheets(blattname).Rows(i))
End If
loeschen = loeschen + 1
End If
Next i
Reihe.Delete
End Sub

Nun möchte ich diese Suche erweitern, zusätzlich zum String XYZ soll auch der String ABC _ gesucht werden, dazu habe ich (meiner Meinung nach) ganz einfach mit einem ODER verknüpft:

Sub nachbereitungOTHER(blattname, letztezeile)
Dim Reihe As Range
For i = 7 To letztezeile
ALMPfad = Sheets(blattname).Cells(i, 15).Value
If ALMPfad = leer Then Exit For
If InStr(ALMPfad, "TestCenter_DE") = 0 Or InStr(ALMPfad, "XYZ") = 0 Or InStr(ALMPfad, _
"ABC") = 0 Or Sheets(blattname).Cells(6, 35).Value = 1 Then
If Reihe Is Nothing Then
Set Reihe = Sheets(blattname).Rows(i)
Else: Set Reihe = Union(Reihe, Sheets(blattname).Rows(i))
End If
loeschen = loeschen + 1
End If
Next i
Reihe.Delete
End Sub

Leider funktioniert das nicht wie erwartet. Nicht nur, dass die Suche nach dem neuen String nicht funktioniert (Zeilen die ihn enthalten werden trotzdem gelöscht), zusätzlich werden nun auch Zeilen gelöscht die den ursprünglichen String enthalten. Sonst wurde nichts verändert. Könnt Ihr mir helfen? Ich weiß nicht ob ich mich nur blöd anstelle oder es da ein tiefer liegendes Problem gibt. Ich freue mich auf Eure Antworten, danke im Voraus!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
And statt Or owT
18.12.2018 16:42:31
Rudi
AW: And statt Or owT
19.12.2018 12:13:16
Very
Danke für die Rückmeldung. Leider hilft mir das nicht, da ich keine UND Verknüpfung brauche, sondern eine ODER. Es reicht wenn eine der beiden Zeichenfolgen vorhanden ist.
Logik?
19.12.2018 12:17:28
Rudi
sie sollen ja nicht vorhanden sein.
AW: Logik?
19.12.2018 16:00:12
Very
Sorry, da habe ich mich falsch ausgedrückt. Es reicht wenn einer der Strings vorhanden ist (Testcenter_DE oder XYZ oder ABC), dann soll die Zeile NICHT gelöscht werden. Das löschen soll nur erfolgen wenn alle Strings gleich 0 sind.
deshalb AND owT
20.12.2018 12:30:20
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige