简体   繁体   English

Excel VBA基于包含文本部分的单元格值删除行

[英]Excel VBA Delete Rows Based on Cell Value containing Part of a Text

I want to delete rows based on cell value that contains the words "upg" or "upgrade" inside the cell. 我想删除基于单元格值的行,单元格值包含单元格内的“upg”或“upgrade”。 when this word are there, it is not the only words inside the cell. 当这个词出现时,它不是单元格内的唯一单词。

Here is part of my code, that not deletes anything: 这是我的代码的一部分,不删除任何东西:

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

Here is the 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

Use INSTR(): 使用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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM