VBA自动筛选器可删除以特定字母开头的所有单词

时间:2019-06-17 18:00:09

标签: excel vba autofilter

我正在寻找使用VBA自动过滤并删除要删除的以C,F,O或U开头的特定列中的所有文本的方法。这些链接到批次ID,可以是C0001,C0002等。我在这里看到了其他过滤该单词的代码,但是我需要删除的内容少于需要保留的内容,因此我认为这种方法会更好,尽管我尝试无法正常工作。

This is an example, but the numbers after the letter can range dramatically

我在其中一个宏上尝试了一些第一个,我尝试重复执行该命令,只留下了最终的过滤结果,而不是所有的结果

这种准有效的方法是可行的,但实际上并没有真正起作用,因为它在PC上增加了很多负载,因为范围取决于季节,从50行到可能超过20,000行。这仅隐藏行,尝试更改隐藏以删除,但似乎不起作用。链接的已回答问题我不理解如何也在我需要的范围内在VBA中应用该逻辑。很抱歉,我缺乏了解,我从这个网站上学到了很多东西,不知道为什么这让我感到沮丧。我真的很感谢在这里获得的所有帮助。

Sub Macro1()
    Dim rng As Range, r As Range
    Set rng = Range("D2:D20000")

    For Each r In rng
        v = Left(r.Value, 1)
        If v = "B" Or v = "L" Or v = "M" Or v = "N" Or v = "S" Then
            r.EntireRow.Hidden = False
        Else
            r.EntireRow.Hidden = True
        End If
    Next r
End Sub

0 个答案:

没有答案