ich habe ein Problem mit der folgenden Schlaufe:
und zwar möchte ich die Zeilen, die nicht mit Kill* oder mit Init* beginnen, löschen. Das Makro löscht mir aber alle (wie kann man Wildcards eingeben in dieser If-Abfrage?
Grüsse
OliverG
ich habe ein Problem mit der folgenden Schlaufe:
und zwar möchte ich die Zeilen, die nicht mit Kill* oder mit Init* beginnen, löschen. Das Makro löscht mir aber alle (wie kann man Wildcards eingeben in dieser If-Abfrage?
Grüsse
OliverG
Nike
testet auf GENAU Init und GENAU Kill
If Left(.Cells(lngOG, 3).Value,4) <> "Init" And Left(.Cells(lngOG, 3).Value,4)<> "Kill" Then
.Cells(lngOG, 3).EntireRow.Delete
End If
Anders formuliert.
Wenn die erste 4 Stellen Init oder Kill sind- lass die Zeile allein, ansonsten löschen. (Ist das wirklich was Du willst?)
Sub test()
Dim lngOG As Long, lngOG1 As Long
With wksTime
lngOG1 = .Cells(Rows.Count, 3).End(xlUp).Row
lngOG = lngOG1
Do
If .Cells(lngOG, 3).Value <> "Init*" And .Cells(lngOG, 3).Value <> "Kill*" Then
.Cells(lngOG, 3).EntireRow.Delete
lngOG = lngOG1 - 1
Else
lngOG = lngOG - 1
End If
Loop Until lngOG = 1
End With
End Sub
sonst bleibt er immer ganz unten stehen.
aber es geht leider trotzdem nicht. das problem ist meiner meinung nach, dass er <> "Init*" nicht als "beginnt mit Init" sieht, sondern als fixer text "Init*".
grüsse
Oliver
wegen:
>testet auf GENAU Init und GENAU Kill
ich hatte eigentlich den wildcard <> "Init*" drin, aber irrtümlich im forum nicht erwähnt.
>(Ist das wirklich was Du willst?)
Ja, genau das.
vielen dank
Dann solltest du wohl eher instr() oder left() nutzen...
Bye
Nike
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen