相关疑难解决方法(0)

如果单元格不包含'@',则删除整行的有效方法

我正在创建一个快速子来对电子邮件进行有效性检查.我想删除"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
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

9
推荐指数
1
解决办法
7万
查看次数

如何在Excel中使用VBA搜索单词,然后删除整行?

有人请帮忙.我正在尝试编写一个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)

我很乐意提供帮助.

excel vba excel-vba

2
推荐指数
1
解决办法
8万
查看次数

标签 统计

excel ×2

excel-vba ×2

vba ×2