我正在创建一个快速子来对电子邮件进行有效性检查.我想删除"E"列中不包含"@"的整行联系人数据.我使用下面的宏,但操作太慢,因为Excel在删除后移动所有行.
我尝试过这样的另一种技术:set rng = union(rng,c.EntireRow)然后删除整个范围,但我无法阻止错误消息.
我还尝试了将每一行添加到选择中,并在选择了所有内容后(如在ctrl + select中),随后将其删除,但我找不到相应的语法.
有任何想法吗?
Sub Deleteit()
    Application.ScreenUpdating = False
    Dim pos As Integer
    Dim c As Range
    For Each c In Range("E:E")
        pos = InStr(c.Value, "@")
        If pos = 0 Then
            c.EntireRow.Delete
        End If
    Next
    Application.ScreenUpdating = True
End Sub
有人请帮忙.我正在尝试编写一个VBA代码,在我的Excel工作表列"D"中搜索特定单词"DR",然后删除整行.工作表中出现了大量特定单词.我想要做的就是搜索这些事件,然后删除包含这些单词的整个行.我的问题是我不确定要使用什么循环结构.下面是我正在使用的代码.
    Columns("D:D").Select
    Cells.Find(What:="DR", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
    Do
    Cells.Find(What:="DR", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
   ActiveCell.EntireRow.Delete
Loop While (Cells.Find(What:="DR"))
Run Code Online (Sandbox Code Playgroud)
我很乐意提供帮助.