Thema Datum  Von Nutzer Rating
Antwort
Rot Stringsuche
18.12.2018 15:40:31 Very Basic Amateur
NotSolved
18.12.2018 15:42:22 Gast46411
NotSolved
Rot CP
19.12.2018 08:36:20 Gast64476
NotSolved
19.12.2018 16:29:44 Gast68014
NotSolved

Ansicht des Beitrags:
Von:
Very Basic Amateur
Datum:
18.12.2018 15:40:31
Views:
873
Rating: Antwort:
  Ja
Thema:
Stringsuche

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 urpsprünglichen String enthalten. Sonst wurde nichts verändert. Könnt Ihr mir helfen? Ich weiss 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!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Stringsuche
18.12.2018 15:40:31 Very Basic Amateur
NotSolved
18.12.2018 15:42:22 Gast46411
NotSolved
Rot CP
19.12.2018 08:36:20 Gast64476
NotSolved
19.12.2018 16:29:44 Gast68014
NotSolved