以下宏涉及遍历,数组,删除指定行等内容。

Sub DELCO()
Dim arrString
Dim Temp
arrString = Array("要删除的关键字", "要删除的关键字2", "要删除的关键字3")
Dim i As Integer
i = 0
Dim A
For lie = 1 To 1 '仅遍历第一列所有行
    For hang = 1 To ActiveSheet.UsedRange.Rows.Count '遍历第一行到当前表总行数
        A = Cells(hang, lie)
        If A <> "" Then '如果单元格有值,就执行下面的操作
        For Each Temp In arrString '对数组每个字符串进行检查
            If (InStr(1, A, Temp) > 0) Or LenB(A) <= 3 Or LenB(A) > 30 Then '如果找到对应字符串或者所在行内容小于4或者大于30,将全部删掉
                Cells(hang, 2) = "删除" '在第二列对应行设定值为删除,不想第二列的自己改数字
                i = i + 1
                Exit For '如果检查到则退出循环继续下一行
            End If
        Next
        End If
    Next
Next
MsgBox (i & "行找到")
End Sub

Related Posts: Excel-VBA-遍历并根据字符串数组替换指定单元格的宏 :