2017-08-30 1 views
2

Ich möchte Zeilen löschen, die auf Zellenwerten basieren, die die Wörter "upg" oder "upgrade" in der Zelle enthalten. Wenn dieses Wort da ist, sind es nicht die einzigen Worte in der Zelle.Excel VBA Zeilen löschen basierend auf Zellenwert, der einen Teil eines Textes enthält

Dies ist Teil meines Codes, dass nichts löscht:

Sub DeleteValues() 


Dim i As Integer 
Dim MFG_wb As Workbook 
Dim Dep As Integer 



Set MFG_wb = Workbooks.Open _ 
("C:\Users\rosipov\Desktop\eliran\MFG - GSS\MFG Daily\Fast Daily " & Format(Now(), "ddmmyy") & ".xlsx", _ 
UpdateLinks:=False, IgnoreReadOnlyRecommended:=True) 
MFG_wb.Sheets("Aleris").Activate 

Dep = MFG_wb.Sheets("Aleris").Range("B2").End(xlDown).Row 


For i = Dep To 2 Step -1 
    Cells(i, 2).Select 
    If Not (Selection.Value = "& upg &" Or Selection.Value = "*& upgrade &*") Then 
     Rows(i).Delete 
    End If 
Next i 



End Sub 

Hier ist das Problem:

For i = Dep To 2 Step -1 
    Cells(i, 2).Select 
    If Not (Selection.Value = "& upg &" Or Selection.Value = "*& upgrade &*") Then 
     Rows(i).Delete 
    End If 
Next i 

Antwort

4

Verwendung INSTR():

For i = Dep To 2 Step -1 
    If Instr(MFG_wb.Sheets("Aleris").Cells(i, 2).Value,"upg")>0 Or Instr(MFG_wb.Sheets("Aleris").Cells(i, 2).Value,"upgrade") >0 Then 
     MFG_wb.Sheets("Aleris").Rows(i).Delete 
    End If 
Next i 
+0

Hey, dass die Arbeit Gut! Vielen Dank! Können Sie mir sagen, wie ich mehr als zwei Werte verwenden kann? –

+0

Ich möchte zu den Optionen "Upg" "UPGRADE" und "Upgrade" auch hinzufügen. –

+1

Es ist nicht notwendig, nach Upgrades zu suchen, wenn Sie bereits nach Upg suchen, um die Groß- und Kleinschreibung zu überprüfen(), um nach UC zu suchen (MFG_wb.Sheets ("Aleris"). Cells (i, 2) .Wert), "UPG")> 0 oder UCase (MFG_wb.Sheets ("Aleris"). Zellen (i, 2) .Wert) wie "UPG" – user500099

Verwandte Themen